0

我正在研究图像处理脚本(PythonPIL库),我需要将任何图像的颜色空间转换为RGB。我已经试过这招,但它仅适用于png图像0​​色彩空间:在Python中将图像颜色空间转换为RGB

image = Image.open(imageFile) 
image.load() 

# replace alpha channel with white color 
self.im = Image.new('RGB', image.size, (255, 255, 255)) 
self.im.paste(image, mask=image.split()[3]) 

如何使这个代码普遍以任何色彩空间的所有图像?

谢谢。

回答

0

你只想使用PIL?我建议OpenCV的版本2 python绑定cv2

http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#cv2.cvtColor

它最常见的colourspaces之间有许多可能的转换。

如果你不想openCV可以使用skimage

http://scikit-image.org/docs/dev/api/skimage.color.html#convert-colorspace

+0

你会碰巧知道skimage xyz2rgb(lab2xyz(lab))是否对于实验室之外的色域是否理智? – denis 2013-06-11 16:45:07

0

找到解决方案:

image = Image.open(imageFile) 
image.load() 

# replace alpha channel with white color 
self.im = Image.new('RGB', image.size, (255, 255, 255)) 
self.im.paste(image, None) 
self.im变量

将存储的图像在RGB色彩与白色(255,255 ,255)alpha通道。