赞
踩
- import numpy as np
- import matplotlib.pyplot as plt
-
- image = np.load("D:/Research_Time/digital_image_processing/codenote/disp.npy")
-
- for i in range(0,image.shape[0]):
-
- plt.imshow(image[i,:,:])
- plt.savefig('D:/Research_Time/digital_image_processing/codenote/fuzhulist/read_npy2/' + str(i) + '.jpg')
- plt.show()
我的npy文件叫disp.npy,大小是(697,192,640),697是图像个数,后面是每一张图像的大小
image = np.load("D:/Research_Time/digital_image_processing/codenote/disp.npy")
上面这句话是载入npy文件种的数据,换成自己的就可以了,因为我的文件里存了多张图像,所以下面的显示使用了for循环,如果是单张图像,去掉循环就可以了,此处借鉴了这位博主的帖子,点击地址在此即可跳转。地址在此
- import cv2 as cv
- import matplotlib.pyplot as plt
-
- img = cv.imread('D:/Research_Time/digital_image_processing/codenote/fuzhulist/read_npy2/1.jpg')
- img2 = cv.applyColorMap(img, 2)
-
- plt.imshow(img2)
- plt.savefig('../fuzhulist/read_1.jpg')
- plt.show()
-
-
- # COLORMAP_AUTUMN = 0,
- # COLORMAP_BONE = 1,
- # COLORMAP_JET = 2,
- # COLORMAP_WINTER = 3,
- # COLORMAP_RAINBOW = 4,
- # COLORMAP_OCEAN = 5,
- # COLORMAP_SUMMER = 6,
- # COLORMAP_SPRING = 7,
- # COLORMAP_COOL = 8,
- # COLORMAP_HSV = 9,
- # COLORMAP_PINK = 10,
- # COLORMAP_HOT = 11
接下来是读取上面保存的图像,进行热图显示,然后保存。我这个是读取的单个图像,如果要读取所有图的话,加个for循环就可以了,然后applycolosmap里面的数字2是热图显示模式,下面的注释有写,如果对显示模式有需求的话,可以把这些数字都试试看。
ps:
但是这种显示方法有个问题,那就是用plt显示和保存的图像有坐标轴和背景板,而且这种方法改变了原图的大小,对原图数据进行了加工,于是我采用了下面这种方式
- image = np.load("D:/Research_Time/digital_image_processing/codenote/disp.npy")
-
- for i in range(0,image.shape[0]):
-
-
- imgs = image[i,:,:]
- cv.imwrite('../fuzhulist/read_npy3/' + str(i) + '.png', imgs)
这种方式不会对图像数据进行改动,但是保存下来的图是全黑的,根本看不出深度图的样子,所以就很麻爪。
如果有路过大佬看见了我,并且知道如何解决上述问题,请评论一下,非常感谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。