使用Python PIL调整大小的图像更暗

时间:2014-09-27 23:24:07

标签: python image resize python-imaging-library

我对PIL很​​新,并且遇到了一些图像处理问题。我只是想使用PIL将图像调整为不同的分辨率:

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

然而,调整大小的图片看起来不像原始图片那样好/亮。

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

有什么猜测吗?

2 个答案:

答案 0 :(得分:2)

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

但是,我不能比这更准确地帮助你,因为我对颜色配置文件知之甚少。可能有工具可以复制配置文件。

答案 1 :(得分:1)

Kuddo向Armin提出他的建议。

Pil允许您使用以下代码将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)