码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-12-04 13:41:58      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:initial   adr   filename   axis   文件   显示   格式   style   var   

问题一:我图片读入是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的问题

标签:initial   adr   filename   axis   文件   显示   格式   style   var   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!