频域下的图像处理,滤波算法(halcon)
一、基本简介
在图像频域中,反应图像在空间域的灰度变化剧烈程度,灰度变化剧烈的代表高频部分,反之代表低频部分。通过傅里叶变换可以实现图像 空间域到频率域的变化,傅里叶反变换可以实现频域到空间域的变化。
在频域处理图像,主要分为以下几种:
1.低通滤波,表示只让低频分量通过。
2.高通滤波,表示只让高频分量通过。
3.带通滤波,表示只让某一频率区间的部分通过。
4.带阻滤波,表示只阻止某一频率区间的部分不通过。
二、处理优点
通过在频域处理图像的过程是:先通过傅里叶变换转换到频域,再进行频域滤波处理,处理完之后再转换回空间域。在频域下处理图像,有以下几个优点:
1.针对一些纹理较丰富的图像,在空间域下处理较为棘手,而在频域下处理则较为简单。
2.处理大尺寸图像时,采用大尺寸滤波器处理速度较慢,在频域下处理速度更快,(直接相乘比加权求和更快)。
3.提取对比度低或者信噪比低的特征
三、halcon算子
在halcon中可以通过几个算子实现图像空间域和频域的转化,以下对几个算子进行解释和用法介绍,也可以通过halcon的例程进行频域处理学习。
1.实现图像的空域和频域转换
fft_generic(Image : ImageFFT : Direction, Exponent, Norm, Mode, ResultType : )
参数1:空域图像
参数2:频域图像
参数3:变换方向from_freq,to_freq。
参数4:指数-1,1
参数5:归一化因子,‘none’,'n','sqrt'
参数搭配推荐:
'(to_freq,-1,sqrt,dc_center)'和'(from_freq,1,sqrt,dc_center)'
'(to_freq,-1,n,dc_edge)','(from_freq,1,none,dc_edge)'
fft_image(Image : ImageFFT : : ) 等价于fft_generic(Image,ImageFFT,'from_freq',1,'sqrt','dc_center','byte')
参数6:dc_center(低频在中间部分),dc_edge(低频在四个角)
参数7:结果图像数据类型,生成频域图必须是complex
2.实现对频域图像的滤波
convol_fft(ImageFFT, ImageFilter : ImageConvol : : )
3.实现图像空域和频域的变换,原点默认在四个角
rft_generic(Image : ImageFFT : Direction, Norm, ResultType, Width : )
4.高通滤波,可以设置size大小
gen_highpass( : ImageHighpass : Frequency, Norm, Mode, Width, Height : )
高通滤波如下:直接和滤波图像进行相乘,得到四周高频部分

低通滤波如下:直接和滤波图像进行相乘,得到中间低频部分

注意可以手动生成滤波图像,对频域图像进行处理,或者直接将频域图像某个区域置0,达到同样的效果。
5.常用的频域下的滤波算子:
gen_std_bandpass,
gen_sin_bandpass,
gen_gauss_filter,
gen_mean_filter,
gen_derivative_filter,
gen_bandpass,
gen_bandfilter,
gen_highpass,
gen_lowpass。
更多推荐



所有评论(0)