python将四通道图片转为三通道图片 | 您所在的位置:网站首页 › imread函数格式 › python将四通道图片转为三通道图片 |
问题:
在做实验的时候,使用的数据集是tif格式的图片(png图片格式也可以是四通道),由于是四通道的图片在使用 plt.imshow(img)时发现无法绘制出图片,因此试着输出图片的shape,才发现是四通道的图片。下面是使用的解决方法。 解决方法:(1)使用cv2包 import cv2 img_path = "./data/1.tif" save_path = './data/2.png' # 其实使用的方法非常简单,就是使用cv2.imread()读取四通道图片 # 图片格式会自动转为三通道格式。 img = cv2.imread(img_path) # 再通过cv2.imwrite()直接保存,图片就保存为三通道 # 之后用其他方式再读取就是三通道格式 cv2.imwrite(save_dir, img)(2)使用PIL包 from PIL import Image import matplotlib.pyplot as plt img_path = "./data/1.tif" save_path = './data/2.png' img = Image.open(img_path) img = img.convert("RGB") img.save(save_path)第一次使用这个方法的时候使用的保存方式为plt.imsave(save_path, img)发现保存的图片和一开始的图片变的不一样,可能是因为img的格式是,使用plt.imsave()保存的格式不正确。如果img是numpy的格式使用plt.imsave()就没有出现错误。 |
CopyRight 2018-2019 实验室设备网 版权所有 |