1. 由于opencv读取完图片在保存图片时候,图片的通道需要时三通道,否则在保存的时候会报错。如下代码可以完成单通道图片的保存。

  2. 注: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)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐