opencv读取图片转numpy ndarray变成bgr的问题
问题原因
有时候需要读取图片,然后通过numpy对图片进行一些操作,再使用PIL.Image保存图片,这时候通常保存的图片色彩就变了,这是因为opencv把图片转成bgr了
解决方案
# opencv读入图片
img = cv2.imread("test.jpg")
# 对img经过一些numpy的操作后...
# 使用Image将bgr转回rgb
r = Image.fromarray(img[:, :, 2]).convert('L')
g = Image.fromarray(img[:, :, 1]).convert('L')
b = Image.fromarray(img[:, :, 0]).convert('L')
image = Image.merge("RGB", (r, g, b))
image.save("test.jpg")