开启左侧

[HALCON算子] gen_gauss_filter算子

[复制链接]
Popeye 发表于 2020-2-9 11:58:38 | 显示全部楼层 |阅读模式
帮助文档中,gen_gauss_filter算子得到一个频域的高斯滤波器,我理解的时域高斯滤波器,就是3x3或者5x5的一个卷积核,然后加权计算滤除噪声。那么这个频域的滤波器怎样理解呢?从输出结果看是产生一个图片,这个图片怎末得到的,大小怎末确定的?和3x3或者5x5的模板什么关系的?
看了两天了,理解不了,头痛求解惑{:1_325:}
 楼主| Popeye 发表于 2020-2-9 16:48:37 | 显示全部楼层
好吧,我来自问自答吧。查了半天资料,发现还是对傅里叶变换理解的不透造成的困惑。
1.区分rft_generic和 fft_generic
    rft_generic计算输入图像的实值FFT。注意这里是实值,在这种情况下,复杂的输出图像具有冗余。图像右半部分中的值是图像左半部分中对应值的复杂共轭。因此,运行时和内存只能通过计算和存储复杂图像的左半部分来保存,所以在direction='to_freq'时,输出的频域图像是尺寸(w/2+1)*h的复杂图像,其中w和h是输入图像的宽度和高度。
2. gen_gauss_filter
    gen_gauss_filter频域内产生一个高斯滤波器,注意这里是频域的。但是这个频域图像并不是直接构造的,下面是我的理解:首先产生一个高斯核,然后根据输入的参数对这个高斯核矩阵做傅里叶变换,得到特定模式和特定分辨率的所谓频域的滤波器,例如我要进行rft_generic的变换,那么我的高斯滤波器模式就要写为‘rft’。并通过设置参数保持频域滤波器和原图像一致。
3 .convol_fft
    我们都知道空间域的卷积,就是频域内的相乘。convol_fft在频域中对两个(傅里叶变换后的)图像进行卷积。其实就是将频域图像ImageFFT的像素乘以滤波器ImageFilter的相应像素。
如上,我理解有不对的地方欢迎指正。



您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表