tf.image.resize处理后的图片无法使用plt.imshow正常显示

在使用tensorflow对图片进行预处理的时候,我使用了tf.image.resize这个函数将原始图片tensor转换成100×100的固定大小,暂且不讨论其压缩方式是否合理,但是在使用plt.imshow对其处理过后的图片进行显示时却出现了很奇怪的问题,即图片无法正常显示。具体表现为:
原始图像为:
在这里插入图片描述
处理后显示的图像如下,仅包含一些不明所以的像素点,这显然不是我们需要的:
在这里插入图片描述
然后去查看resize后的格式发现,每个元素的类型被改成了float32
在这里插入图片描述
因此修改也很简单,如下图操作就可以正常显示图片了。其中aaa为经过tf.image.resize处理后的tensor,也就是图片的像素点,这里将它的元素类型转成uint8即可。
在这里插入图片描述

posted @ 2019-12-24 18:47  _吟游诗人  阅读(307)  评论(0编辑  收藏  举报