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

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

原文地址:https://www.cnblogs.com/yinyoupoet/p/13287365.html