我想使用有限的$ n \ times m $低通滤波器在下采样之前。
我应该如何确定低通滤波器参数($ n,m $和高斯$ \ sigma $)以将其作为$ s_x的函数$和$ s_y $?
#1 楼
您必须考虑两个图像之间的奈奎斯特频率变化。如果原始图像的奈奎斯特频率为N,则降采样后的图像将具有较低的奈奎斯特频率xN,其中x与最终图像和初始图像之间的尺寸比有关。在对原始图像进行下采样之前,需要删除那些高于xN的空间频率。图像空间中高斯的功率谱在频率空间中也是高斯。如果暂时忽略第二维,则图像空间中的高斯定义为exp(-x ^ 2 / s ^ 2),其中x表示像素。这被映射到exp(-w ^ 2 * s ^ 2)的频率空间,其中w是频率。 sigma参数表明图像空间中的宽高斯与频率空间中的窄高斯相对应。空间,该频率对应于向下采样图像的奈奎斯特频率。
评论
$ \ begingroup $
对,但是如何将其转换为离散卷积内核? (这是问题)
$ \ endgroup $
–本·乌里
13年4月14日在9:38
$ \ begingroup $
请参阅编辑...
$ \ endgroup $
– NoName否
13年4月14日在15:14
$ \ begingroup $
谢谢,但是仍然有一个公式可以找到作为输出结果中应存在的最大频率的函数的sigma?
$ \ endgroup $
–本·乌里
13年4月14日在19:19
$ \ begingroup $
我不知道任何公式。
$ \ endgroup $
– NoName否
13年4月14日在19:50
#2 楼
已经指出,将根据$ \ sigma $选择$ n $和$ m $。我花了一些时间思考如何最好地选择$ \ sigma $。这是我的考虑。 tl; dr:也许我弄错了,但是$ \ sigma ^ 2 \ approx3.37 $似乎是按因子2下采样的不错选择。
#3 楼
如果您要缩小尺寸(例如2倍,3倍,4倍),则可以对像素进行平均以实现良好的抗锯齿效果。这实际上就是为什么抗锯齿使用大量额外的CPU / GPU来使视频游戏看起来更清晰的原因。由于您要将图像从1000x1000转换为707x707(这只是比例的示例因素),您是正确的,别名可能是一个问题。
感谢这个问题,许多人已经遇到并做了很多工作来解决。在许多情况下,双三次插值法是可行的方法。以下是一些不同插值方法的示例:
http://www.compuphase.com/graphic/scale.htm
OpenCV的调整大小有以下几种:内置的方法:
http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html#cv-resize
如果您已经玩过这些插值方法中的几种方法效果不佳,请发布一些样本源图像和样本结果图像以显示不足之处。为了诊断问题并尝试提出一个好的解决方案,我们将需要它。
评论
$ \ begingroup $
指出,尽管速度很快,但像素平均并不是质量的理想解决方案。像素平均有效地应用了矩形滤波器。在频率空间中,这相当于乘以一个正弦函数,该函数在奈奎斯特谐波处以零交叉点振荡。这有两个问题:1.它衰减高频但幅度不大2.它在每个旁瓣处使相位反相。 (1)和(2)均可造成混叠。
$ \ endgroup $
–thang
13年1月20日在8:19
#4 楼
我确实没有很好的答案,但是您可以尝试以下2种选择:在Computer Vision中,此缩放因子通常通过应用高斯滤波器来解决。宽度(以像素为单位)在5到9之间。您可以找到对应的高斯$ \ sigma $,因为像素宽度通常等于$ 3 \ sigma $。
如果您愿意进行精细的信号采样计算,那为什么不使用傅立叶变换呢?进行图像的FFT,仅保留与目标大小相对应的子部分,然后对变换求逆。这将在频谱上应用抗混叠滤波器。如果您有太多的伪像(纹波,振铃),请在您的高斯滤波器频谱上应用,该滤波器的宽度与您的目标大小相对应。
#5 楼
对于$ s = 1 / \ sqrt {2} $,经典的2D高斯核具有以下形式:$$ [1、2、1] ^ T [1、2、1] $$
评论
$ \ begingroup $
你错了。您是否忘记了0.25的比例因子? ...如果是这样,这是s = 1/2而不是1 / sqrt(0.5)的常见选择。
$ \ endgroup $
–本·乌里
2013年9月28日在21:28
$ \ begingroup $
对@ Ben-Uri的举动有何评论?由于篇幅太长,系统将该帖子标记为低质量。请考虑修改或删除它。
$ \ endgroup $
– Peter K.♦
13-10-3在14:19
$ \ begingroup $
@PeterK。 -我认为Ben-Uri将$ s $与$ s ^ 2 $混淆了
$ \ endgroup $
– nbubis
13年10月3日,16:30
$ \ begingroup $
我以为您使用$ s $作为比例因子(就像我在问题中使用的那样)。您是否将$ s $用作高斯$ \ sigma $?我问$ \ sigma $是缩减因子($ s_x,s_y $)的函数,但我看不出您的解决方案是如何解决的。
$ \ endgroup $
–本·乌里
13-10-5在17:14
评论
与[在这里问的那个人] [1]相关的问题:stackoverflow.com/questions/3149279 / ...谢谢,但是这个问题不是关于如何根据缩小因子确定滤波器参数。
您要过滤多少?你的目标是什么?
我想在下采样之前使用低通滤波器以避免混叠。我想保留尽可能多的信息而不会出现别名。
您需要查看滤波器的傅立叶变换,以了解在将频率保持在采样结果的奈奎斯特极限以下的同时,如何有效地降低混叠频率。高斯变换是另一个高斯变换,这意味着没有急剧的截止。几乎总会有更好的选择。