-
由于opencv读取完图片在保存图片时候,图片的通道需要时三通道,否则在保存的时候会报错。如下代码可以完成单通道图片的保存。
-
注:opencv读取图片的通道数默认为b,g,r。故在使用cv2.cvtColor函数转成rgb的时候,仍然需要对图片进行通道转换,故需要使用img= img[:, :, ::-1]才能使用cv2.imwrite()函数保存图片。
import cv2
img = cv2.imread('1.png')
if len(img.shape) == 2 or img.shape[-1] == 1:
img= cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)
img= img[:, :, ::-1]
cv.imwirte('2.png',img)