image - 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()
解决方案
经过长时间的斗争,我发现输入必须在 [0, 1) 中,如果它们是浮点类型 in tf.image.convert_image_dtype(inputs, dtype=tf.uint8, saturate=False)
。因此,我只是在输入管道inputs = inputs/255
之前 按比例缩放输入tf.image.convert_image_dtype
。
推荐阅读
- vue.js - 在Vue中将{{}}内的值拆分为多行(源代码)
- javascript - 砖石元素的 50% 宽度
- arrays - 在matlab中对数组的分区求和
- android - Firebase 实时数据库和 Kotlin 协程
- python - 如何通过终端将 .py 脚本拖放到 python shell 上而不会出现语法错误?
- android - Fragment 类的 Proguard 规则
- python - Excel复制数据没有公式openpyxl
- .htaccess - 更新 .htaccess 文件后,Apache2 网站中的 403 访问被拒绝
- java - Spring中两个jms监听器具有相同监听器容器工厂的并发如何处理
- wso2 - wso 2 3.0.0 改变了非管理员用户无法进入管理员门户