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")