在将低分辨率图像放大到高分辨率图像时,哪种方法/算法可提供最佳输出质量?

the*_*man 2 printing resolution image imagemagick image-processing

我将尝试尽可能具体.

我正在开展邀请业务,允许人们在线定制他们的邀请,然后将其发送到打印.我试图找出最好的方法来拍摄他们正在模拟的预览图像并将其输出,使其高分辨率足以打印.

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

有没有人对如何拍摄这些300 dpi图像有任何想法,缩小它们以便我可以创建预览图像然后将它们缩放以便我可以打印它们?

我尝试保存为PNG文件,但问题是他们以72 dpi的速度保存到网上.

Kur*_*fle 5

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

convert  input.png  -scale 400%  4x-input.png
Run Code Online (Sandbox Code Playgroud)

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

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

原始PNG,'眼科医生测试图'

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

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

  2. ......然后使用"更好的缩放质量"命令.

比较这两个结果:

直接400%缩放结果 更好的质量400%缩放结果

请注意文件大小的差异:

  • 两个结果图像的大小为432x540像素,
  • 但是"更好的质量"只使用72 kByte的磁盘空间,
  • 而"直截了当"的缩放使用更多:87.5 kByte!

你想看到照片的结果吗?开始了...

输入照片:

老人的照片

ImageMagick的"直接缩放"(第一个)和"更好的缩放"(第二个)的结果:

照片缩放400%直截了当 在此输入图像描述

(两个输入测试文件的学分属于魏兹曼科学研究所 - 以色列数学和计算机科学学院,他们开发了自己的图像'超分辨率缩放算法'.这里显示的输出是ImageMagick的,没有任何内容做Weizmann Institute的算法......)

'命令'

最后,这是命令,为您提供卓越的品质.我在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
Run Code Online (Sandbox Code Playgroud)

免责声明:此ImageMagick命令绝不是我自己的成就.这是Nicolas Robidoux提出的研究结果.

有关尼古拉斯最近的ImageMagick实验,他的解释和注意事项以及他的一些替代命令的更多细节,请点击此处: