使用Lanczos过滤器

时间:2015-06-10 11:52:03

标签: image-processing filtering signal-processing image-scaling lanczos

我试图用Lanczos2实现图像下采样。<​​/ p>

然而,内核似乎到处都是零(因为如果x是整数,sin(pi * x)= 0)except at the center pixel

因此,如果下采样因子是整数(例如,输出大小是每个维度的原始大小的1/2),则Lanczos下采样产生与最近邻插值完全相同的结果(仅取每隔一个像素)在2X下采样)。

我认为事实并非如此,所以我的问题是: 我错过了什么?

如何使用lanczos2滤波器进行2x下采样,预计结果会不同于简单地采用每个其他像素?

1 个答案:

答案 0 :(得分:5)

用于2x下采样的内核在第34节中给出;使用Lanczos2 sinc函数抽取因子为2&#34;在reference you linked的第10页上,系数为:

0, -0.032, 0, 0.284, 0.496, 0.284, 0, -0.032, 0

通过在x=0.5n的值n评估给定的lanczos2(x)函数来获得此内核,其中list.firstChild是样本编号(整数)。这反映了输出速率是原始采样率的一半的事实(因此在像素抽取之前需要半带滤波器以避免混叠)。

PS:除了你已经获得的中心像素之外,每个地方都有零的内核(通常实现通常会将这个内核优化为一个简单的像素副本)与一个1/2的内核相结合em>插值因子2。