如何使用Tensorflow标准化从csv文件读取的RGB图像?

时间:2017-09-03 07:25:22

标签: tensorflow scikit-learn tensorflow-gpu

  png = tf.read_file(filename)
  image = tf.image.decode_png(png, channels=3)
  image = tf.cast(image, tf.float32)

读取图像并将其转换为float32。如何对此进行规范化?我已经在灰度上进行了标准化。但需要一些RGB图像的帮助。

我想过这样做

def normalized(down):

        norm=np.zeros((600,800,3),np.float32)
        norm_rgb=np.zeros((600,800,3),np.uint8)

        b=rgb[:,:,0]
        g=rgb[:,:,1]
        r=rgb[:,:,2]

        sum=b+g+r

        norm[:,:,0]=b/sum*255.0
        norm[:,:,1]=g/sum*255.0
        norm[:,:,2]=r/sum*255.0

但是为了使上述功能起作用,我需要在图像上启动一个sess然后执行numpy操作。 有人可以帮我在tensorflow本身做这个吗?

1 个答案:

答案 0 :(得分:1)

您可以使用tf.image.per_image_standardization。它将图像线性缩放为零均值和单位范数。

image = tf.image.per_image_standardization(image)