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本身做这个吗?
答案 0 :(得分:1)
您可以使用tf.image.per_image_standardization
。它将图像线性缩放为零均值和单位范数。
image = tf.image.per_image_standardization(image)