我有一堆png图像嵌入icc颜色配置文件。当我加载和显示他们的颜色是错误的,我理解是因为颜色配置信息没有被考虑。所以我要做的是将数据中的像素转换成sRGB,并丢弃图像中的轮廓信息。这样就可以用正确的颜色在屏幕上显示它们。在
我在这里找到了一个脚本:http://hipolabs.com/en/blog/icc-profile-transformation-using-pil/
Python I修改了以下脚本:
from PIL.ImageCms import profileToProfile
from PIL import Image
from sys import argv
ADOBE_RGB_PROFILE = "AdobeRGB1998.icc"
SRGB_PROFILE = "sRGB.icc"
def main(src, dst):
original_image = Image.open(src)
if 'icc_profile' in original_image.info:
print "converting..."
converted_image = profileToProfile(original_image, ADOBE_RGB_PROFILE, SRGB_PROFILE)
print "saving file..."
converted_image.save(dst)
print "ok."
if __name__ == "__main__":
main(argv[1], argv[2])
但它不起作用。结果图像保持透明。在
所以我的问题是,如何在Python中转换嵌入颜色配置文件的图像?如果您可以修复我的脚本,或者编写一个新的脚本来完成上面的代码所要做的事情,那就太好了。在
目前没有回答
相关问题 更多 >
编程相关推荐