【问题标题】:Image resized with Python PIL are darker使用 Python PIL 调整图像大小更暗
【发布时间】:2014-09-27 23:24:07
【问题描述】:

我对 PIL 还很陌生,并且在一些图像处理方面存在问题。我只是想使用 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

你猜对了吗?

【问题讨论】:

    标签: python image resize python-imaging-library


    【解决方案1】:

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

    不过,我无法为您提供更准确的帮助,因为我对颜色配置文件知之甚少。可能有工具可以复制配置文件。

    【讨论】:

      【解决方案2】:

      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)
      

      【讨论】:

        猜你喜欢
        • 2017-04-01
        • 2012-12-01
        • 2016-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 2019-05-30
        相关资源
        最近更新 更多