Algorithm 使用Lanczos缩放图像背后的想法是什么?

Algorithm 使用Lanczos缩放图像背后的想法是什么?,algorithm,image,graphics,image-processing,image-scaling,Algorithm,Image,Graphics,Image Processing,Image Scaling,我对图像缩放算法感兴趣,并实现了双线性和双三次方法。然而,我听说过Lanczos和其他更复杂的方法,可以实现更高质量的图像缩放,我非常好奇它们是如何工作的 这里有人能解释一下使用Lanczos(放大和缩小)缩放图像背后的基本思想吗?为什么它会产生更高的质量 我有傅里叶分析的背景,过去也做过一些信号处理的工作,但与图像处理无关,所以不要害怕在回答中使用“频率响应”之类的术语:) 编辑:我想我真正想知道的是使用卷积滤波器进行插值背后的概念和理论 (注意:我已经读过维基百科上关于Lanczos重采样的

我对图像缩放算法感兴趣,并实现了双线性和双三次方法。然而,我听说过Lanczos和其他更复杂的方法,可以实现更高质量的图像缩放,我非常好奇它们是如何工作的

这里有人能解释一下使用Lanczos(放大和缩小)缩放图像背后的基本思想吗?为什么它会产生更高的质量

我有傅里叶分析的背景,过去也做过一些信号处理的工作,但与图像处理无关,所以不要害怕在回答中使用“频率响应”之类的术语:)

编辑:我想我真正想知道的是使用卷积滤波器进行插值背后的概念和理论


(注意:我已经读过维基百科上关于Lanczos重采样的文章,但对我来说没有足够的细节)

选择用于图像处理的特定过滤器是一门黑色艺术,因为判断结果的主要标准是主观的:在计算机图形学中,最终的问题几乎总是:“它看起来好吗?”。有很多好的过滤器,最好的过滤器之间的选择往往归结为一个判断电话

也就是说,我会继续一些理论


由于您熟悉信号处理的傅里叶分析,因此将其应用于图像处理并不需要了解更多内容——所有直接感兴趣的滤波器都是“可分离的”,这基本上意味着您可以在x和y方向独立应用它们。这减少了重采样a(2-D)的问题将图像转换为(1-D)信号的重采样问题。您的信号不是时间(t)的函数,而是一个坐标轴(例如x)的函数;其他一切都完全相同

最终,需要使用过滤器的原因是为了避免混叠:如果要降低分辨率,则需要过滤掉新的较低分辨率不支持的高频原始数据,否则将添加到不相关的频率

所以。当你从原始信号中滤除不需要的频率时,你希望尽可能多地保留原始信号。此外,你也不想扭曲你所保留的信号。最后,你希望尽可能彻底地消除不需要的频率。这意味着——理论上——一个好的滤波器应该是一个“盒子”频率空间中的函数:截止点以上的频率为零响应,截止点以下的频率为单位响应,两者之间为阶跃函数。从理论上讲,这个响应是可以实现的:正如你所知,一个直的sinc滤波器会给你准确的结果


这有两个问题。首先,一个直sinc滤波器是无界的,并且不会很快衰减;这意味着进行简单的卷积将非常缓慢。与直接卷积相比,使用FFT并在频率空间进行滤波更快

然而,如果你真的使用了直sinc滤波器,问题是它实际上看起来不是很好!正如相关问题所说,感知上存在振铃效应,实际上没有完全令人满意的方法来处理由“未知数”导致的负值

最后,那么:解决这个问题的一种方法是从一个sinc滤波器开始(因为它具有良好的理论特性),然后调整它,直到你有了同样可以解决其他问题的东西。具体来说,这将为您提供类似Lanczos过滤器的功能:

Lanczos filter:       L(x)     = sinc(pi x) sinc(pi x/a) box(|x|<a)
frequency response: F[L(x)](f) = box(|f|<1/2) * box(|f|<1/2a) * sinc(2 pi f a)

    [note that "*" here is convolution, not multiplication]
       [also, I am ignoring normalization completely...]

Lanczos滤波器:L(x)=sinc(pi x)sinc(pi x/a)盒(| x |你看过任何示例代码吗?我不知道可读性有多高,例如mplayer的swscale实现。但你可能在寻找它背后的理论,我也不知道。感兴趣的读者会在我们的姐妹网站上找到一篇很好的文章,尽管它的测试是r旋转,而不是缩放。Catmull-Rom双三次公式产生的结果非常接近Lanczos-2,但数学要简单得多。我知道这个答案现在已经很老了,但我确实想知道:用频率盒滤波器缩小图像的比例真的很理想吗?这从本质上讲难道不意味着像一个像素的轮廓这样的东西是el吗iminated(通过理想的过滤器)?这是理想的,还是基于sinc的过滤器仅适用于本质上可以被视为“连续”的图像(如光栅采样照片)一个像素的轮廓不会消失,但它们确实会产生一种特别清晰的视觉上令人讨厌的“铃声”当使用纯sinc滤波器时,会产生上述效果。Lanczos风格的滤波器在这方面更好,但基于sinc的滤波器最适合“连续”图像是正确的——像素艺术风格的图像不适合任何类型的线性调整滤波器,因为它们依赖于尖锐的水平和垂直边缘。