zoukankan      html  css  js  c++  java
  • 在显示图片上im.show的问题

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



  • 相关阅读:
    Django之cookie与session
    Django之在Python中调用Django环境
    Django之Django终端打印SQL语句
    Django之事务
    Django之ORM操作(聚合 分组、F Q)
    Linux常用服务安装部署
    Linux服务基础命令
    程序员的vim
    Linux的xshell命令
    Linux操作服务器的初识
  • 原文地址:https://www.cnblogs.com/cn-gzb/p/11982187.html
Copyright © 2011-2022 走看看