当用PIL和OpenCV加载png图像时,会出现颜色偏移。黑色和白色保持不变,但棕色变为蓝色。PIL到OpenCV MAT导致颜色转变
我无法发布图片,因为本网站不允许新手发布图片。
代码的写法如下,而不是使用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)
如何色偏能解决吗?
元组没有reverse()函数!! – Krish 2012-10-16 23:57:17
@Krish:修正了你提到的错误。谢谢。 – lightalchemist 2012-10-17 02:57:12