什么插值方法最适合进行图像旋转?

9
我有一些需要旋转的图片。我必须将它们旋转(每个图片旋转角度不同),并尽可能减少旋转过程中出现的图像伪影(例如模糊),这是由于插值引起的。
目前我使用的是GIMP 2.6,它提供了立方和Sinc(Lanczos3)两种插值方法来进行图像旋转。我不确定哪种方法更好,会产生更少的伪影?如果有缺点,是什么?
此外,是否有其他软件(例如Photoshop或GIMP的插件)或Matlab脚本可以提供近乎完美的图像旋转(例如使用比GIMP更好的插值算法)?
非常感谢您的帮助。

1
Lanczos3通常会给出最佳结果,因为它更接近于理想平滑滤波器(在某种理论意义上)。 - Mr Fooz
@Mr Fooz。谢谢。我还发现了SAR图像处理器(general-cathexis.com),它使用Lanczos在几次迭代中旋转图像以提高旋转质量。我猜比GIMP中的更好。 - Marcin
2个回答

6

我记得看到了一个很巧妙的不同插值算法之间的比较 - 将图像按固定角度旋转,直到旋转完全返回到360度。任何伪影或模糊都是立即显而易见的,可以直接与原图进行比较。编辑:找到链接-http://www.all-in-one.ee/~dersch/interpolator/interpolator.html

请不要认为Lanczos与Sinc相同-它们相关,但Lanczos对计算的容易性进行了一些精度上的牺牲。


谢谢。我在http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=816070找到了类似的比较。他们在医学图像上比较了许多插值算法。 - Marcin
@Marcin,感谢你提供的链接——它似乎比我找到的那个更上一层楼。不幸的是,我没有IEEE会员资格。 - Mark Ransom
@Mark Ransom。我找到的同一篇文章也在这里:http://ee.sharif.edu/~miap/Files/Survey-%20Interpolation%20Methods%20in%20Medical%20Image%20Processing.pdf。 - Marcin
@ Mark Ransom,看起来你提供的地址无法访问。你知道其他地方可以找到它吗?谢谢。 - Royi
@Drazick,原始链接是由Helmut Dersch完成的,名为“Testing Interpolator Quality”。我发现了其他几个基于他的工作的页面:http://photocreations.ca/interpolator/index.html http://www.panoramafactory.com/quality/quality.html - Mark Ransom
@Drazick 我终于想起了Wayback Archive,它有一个网站消失前的快照: http://replay.web.archive.org/20090626095428/http://www.all-in-one.ee/~dersch/interpolator/interpolator.html - Mark Ransom

4
另一种图像旋转的方法是应用两次剪切操作。详见Alan W. Paeth的“A Fast Algorithm for General Raster Rotation”(可以在流行的“Graphics Gems I”书中第3章第6部分或此处找到)。据我所知,这种方法可以产生非常清晰的图像。
ImageMagick的-rotate就是采用这种方法实现的。因此,您可以将其结果与直接旋转方法进行比较。

谢谢。我会看一下旋转功能。我还发现了一个 SAR 图像处理器(http://www.general-cathexis.com/),它使用 Lanczos 算法在几次迭代中旋转图像以提高旋转质量。 - Marcin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接