【问题标题】:Which method/algorithm delivers the best output quality when scaling up low resolution to high resolution images?在将低分辨率图像放大到高分辨率图像时,哪种方法/算法可提供最佳输出质量?
【发布时间】:2011-08-23 23:36:44
【问题描述】:

我将尝试尽可能具体。

我正在开展一项邀请业务,允许人们在线自定义他们的邀请,然后将其发送打印。我正在尝试找出最好的方法来获取他们正在模拟的预览图像并将其输出,以便其高分辨率足以打印。

我知道 svg 是我最好的选择,但问题是我的设计有一半不是矢量,而是 300 dpi 光栅图像。

有没有人知道如何拍摄这些 300 dpi 的图像,将它们缩小以便创建预览图像,然后将它们放大以便打印它们?

我曾尝试另存为 PNG 文件,但问题是它们以 72 dpi 保存在网络上。

【问题讨论】:

  • 保存两个版本。一个用于预览。一个用于打印。此外,png 仅适用于类似矢量的图像。对于一般照片图像,它们比等效的 jpeg 大得多。

标签: image image-processing printing imagemagick resolution


【解决方案1】:

如果您需要从较低分辨率放大图像,可以使用 ImageMagick 的 convert 命令轻松完成。这很简单:

convert  input.png  -scale 400%  4x-input.png

但是,如果您知道如何从命令行将它们转化为行动,那么有一些非常先进的算法可以提供更好的输出质量。

考虑以下输入图像(原始文件大小为 7 kByte,尺寸为 108x135 像素):

现在将其放大到像素数的 16 倍(或每个维度 4 倍)...

  1. ...首先使用上面的'直接缩放'命令,

  2. ...然后使用 “更好的缩放质量” 命令。

比较这两个结果:

还要注意文件大小的区别:

  • 生成的两个图像的大小均为 432x540 像素,
  • 但“更好的质量”只使用 72 kByte 的磁盘空间,
  • 而“直截了当”的缩放版本使用更多:87.5 kByte!

您想查看照片的结果吗?来了……

输入照片:

ImageMagick 的“直接缩放”(第一)和“更好的质量缩放”(第二)的结果:

(两个输入测试文件的学分属于The Weizmann Institute of Science -- Faculty of Mathematics and Computer Science in Israel,他们开发了自己的图像“超分辨率缩放”算法。这里显示的输出是 ImageMagick 的,与魏茨曼研究所的算法无关...... )

'命令'

最后,这里是为您提供卓越品质的命令。我在 ImageMagick v. '6.7.6-9 2012-05-12 Q16' 上运行它以获得您在上图中看到的结果:

convert                       \
   input.png                  \
  -colorspace RGB             \
  +sigmoidal-contrast 11.6933 \
  -define filter:filter=Sinc  \
  -define filter:window=Jinc  \
  -define filter:lobes=3      \
  -resize 400%                \
  -sigmoidal-contrast 11.6933 \
  -colorspace sRGB            \
   better-quality-enlargement.png

免责声明:这个 ImageMagick 命令绝不是我自己的成果。这是Nicolas Robidoux 研究的结果。

有关 Nicolas 最近的 ImageMagick 实验、他的解释和考虑以及他的一些替代命令的更多详细信息,您可以在此处找到:

【讨论】:

  • 这很好。我的意思是,我认为如果不进行一些手动操作,就不可能达到这样的结果。谢谢你!
【解决方案2】:

您不能将图像缩小到低分辨率预览版本,然后再将其放大到高分辨率并保持高分辨率质量。如果将其缩小,然后再放大,您将丢失原始图像中的大量细节。

我认为您需要在这里重新考虑您的应用程序流程。执行此操作的常规方法是创建预览图像并让用户在 Web UI 中使用它来创建他们的邀请,但是当他们对其进行修改时,您将这些存储为描述修改的元数据,而不是修改后的图像.然后,当需要创建高分辨率图像时,您可以返回原始图像,对其进行复制,然后将元数据修改应用于高分辨率图像副本,从而保留最大分辨率。

如果您想确保在他们祝福打印之前向他们展示正确的预览,您可以将最后的审批流程之一设置为生成高分辨率图像并结合他们编辑的元数据的步骤。 '已经完成,然后你拍摄高分辨率图像并制作一个网络大小的版本作为他们最终的网络预览。您将使用您创建的高分辨率版本进行打印。

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 2017-08-23
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2014-05-10
    • 1970-01-01
    相关资源
    最近更新 更多