2014-09-27 55 views
1

我对PIL相当陌生,并且遇到了一些图像处理问题。我只是想将图像调整到使用PIL不同的分辨率:使用Python PIL调整大小的图像较暗

resized_hd = image.resize((hd_width, hd_height), Image.ANTIALIAS) 

然而,调整大小的图片看起来并不好/光亮如原来的一个。

原件(5184 * 3456) - >http://d31d9cjolqcwln.cloudfront.net/San+Francisco/sutro+baths.jpg 调整大小(2048 * 1366) - >http://d31d9cjolqcwln.cloudfront.net/San+Francisco/HD-sutro+baths.jpg

任何的猜测?

回答

1

Kuddo给Armin他的建议。

弼允许您使用以下代码附加ICC配置到调整后的图像:

icc_profile = im1.info.get('icc_profile') 
    im6 = im1.resize((hd_width, hd_height), Image.ANTIALIAS) 
    ## this one will preserve the colours 
    im6.save("colorok-"+image,icc_profile=icc_profile) 
    ## this one don't 
    im6.save("nop-"+image) 
2

我认为这是因为两个图像中的一个(原始的)具有嵌入的颜色配置文件,而另一个(调整大小的)配置文件没有。我通过试图在gimp中打开原始图像来发现这一点。颜色配置文件将导致高级观众进行更正,理论上可以修复纸张和屏幕之间的差异。当我在一个不知道颜色配置文件的简单查看器中查看这两个图像时,它们确实是相同的亮度。它看起来像PIL库忽略颜色配置文件,并没有把它带到调整大小的图像上。

虽然我对颜色配置文件了解不多,但我无法帮助您更准确地进行配置。可能有工具可以复制配置文件。