在Python中将图像颜色空间转换为RGB

时间:2013-04-11 11:17:59

标签: python image-processing python-imaging-library color-space

我正在处理图片处理脚本(PythonPIL库),我需要将任何图片的色彩空间转换为RGB。我尝试过这个技巧,但它仅适用于png色彩空间中的RGBa张图片:

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

如何将此代码普遍用于任何色彩空间中的所有图像?

感谢。

2 个答案:

答案 0 :(得分:1)

找到解决方案:

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通道的图像。

答案 1 :(得分:0)

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

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

在最常见的色彩空间之间有许多可能的转换。

如果您不想openCV,可以使用skimage

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