首页 > 解决方案 > tf.image.convert_image_dtype(image, dtype=tf.uint8) 之后的混淆图像

问题描述

看了一张灰度图,看起来很正常,但是通过tf.image.convert_image_dtype()转换数据类型后,图像看起来很奇怪。我不知道发生了什么,感谢任何帮助。

... ...
uint_inputs = tf.image.convert_image_dtype(inputs, dtype=tf.uint8, saturate=False)
... ...
with sv.managed_session() as sess:
    inputs, uint_inputs = sess.run([inputs, uint_inputs])
    f ,axis = plt.subplots(1, 2, figsize=(4, 2))
    axis[0].imshow(np.squeeze(inputs), cmap='gray')
    axis[1].imshow(np.squeeze(uint_inputs), cmap='gray')
    plt.show()

运行后的结果如下, 在此处输入图像描述

标签: imagetensorflow

解决方案


经过长时间的斗争,我发现输入必须在 [0, 1) 中,如果它们是浮点类型 in tf.image.convert_image_dtype(inputs, dtype=tf.uint8, saturate=False)。因此,我只是在输入管道inputs = inputs/255之前 按比例缩放输入tf.image.convert_image_dtype


推荐阅读