图像背后的理论减去0.5然后乘以2

时间:2018-06-22 19:04:05

标签: python tensorflow image-processing

with tf.name_scope(scope, 'eval_image', [image, height, width]):
  if image.dtype != tf.float32:
    image = tf.image.convert_image_dtype(image, dtype=tf.float32)

  if height and width:
    # Resize the image to the specified height and width.
    image = tf.expand_dims(image, 0)
    image = tf.image.resize_bilinear(image, [height, width],
                                   align_corners=False)
    image = tf.squeeze(image, [0])

  image = tf.subtract(image, 0.5)
  image = tf.multiply(image, 2.0)
  return image

当我们在将图像发送到神经网络(更确切地说是GoogLeNet)之前进行图像预处理时,为什么要编写代码:

 image = tf.subtract(image, 0.5)
 image = tf.multiply(image, 2.0)

这背后的理论是什么?为什么我们需要这个程序。 如果我尝试检查外观,请使用:

 plt.imshow(image)

图像无法显示。

2 个答案:

答案 0 :(得分:0)

他们这样做是为了将图像从[0,1]重新缩放为[-1,1]。他们希望所有图像使用相同的格式,因此需要执行此步骤。

答案 1 :(得分:0)

进行减法和乘法运算以在-1和1之间缩放图像。