使用 PIL 和 OpenCV 加载 png 图像时,会出现颜色偏移。黑色和白色保持不变,但棕色变为蓝色。
我不能发布图片,因为这个网站不允许新手发布图片。
代码编写如下而不是使用 cv.LoadImageM,因为在实际情况下,原始图像是通过 tcp 接收的。
这是代码:
#! /usr/bin/env python
import sys
import cv
import cv2
import numpy as np
import Image
from cStringIO import StringIO
if __name__ == "__main__":
# load raw image from file
f = open('frame_in.png', "rb")
rawImage = f.read()
f.close()
#convert to mat
pilImage = Image.open(StringIO(rawImage));
npImage = np.array(pilImage)
cvImage = cv.fromarray(npImage)
#show it
cv.NamedWindow('display')
cv.MoveWindow('display', 10, 10)
cv.ShowImage('display', cvImage)
cv. WaitKey(0)
cv.SaveImage('frame_out.png', cvImage)
如何修复颜色偏移?