首页 > 其他 > 详细

在显示图片上im.show的问题

时间:2019-12-04 15:35:04      阅读:68      评论:0      收藏:0      [点我收藏+]

问题一:我图片读入是tensor类型的,但是我要变成nadrry类型或者用im.show显示(im.show显示所用到的就是nadrry类型)

            for image, label, filename in loader:
                sess = tf.Session()
                sess.run(tf.global_variables_initializer())
                img = np.transpose(image, (0, 2, 3, 1))
                img_numpy = img.numpy()[0]
                plt.imshow(img_numpy)  # 显示图片
                # plt.axis(‘off‘)  # 不显示坐标轴
                plt.show()
                b = img_numpy.shape
                print(filename)
                print(b)

首先,在神经网络中,图像被表示成[c, h, w]格式或者[n, c, h, w]格式。

im.show显示的shape为[n,h,w,c],而我们直接读取文件格式是[n,c,h,w],为了转成[n,h,w,c]形式,我采用

img = np.transpose(image, (0, 2, 3, 1))

问题二:[n,h,w,c]为啥im.show显示不出来

im.show显示的图片格式为[h,w,c],没有通道n,所以我将n通道去除:img_numpy = img.numpy()[0],这时显示的是彩色

问题三:要显示灰度图片。
这就简单了,直接在tensor的基础上img_numpy = image.numpy()[0][0],
将[n,c,h,w]的n,c去除就显示[h,w]的灰度图了

 



在显示图片上im.show的问题

原文:https://www.cnblogs.com/cn-gzb/p/11982187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!