我正在处理图片处理脚本(Python
和PIL
库),我需要将任何图片的色彩空间转换为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])
如何将此代码普遍用于任何色彩空间中的所有图像?
感谢。
答案 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