一、基本简介

        在图像频域中,反应图像在空间域的灰度变化剧烈程度,灰度变化剧烈的代表高频部分,反之代表低频部分。通过傅里叶变换可以实现图像 空间域到频率域的变化,傅里叶反变换可以实现频域到空间域的变化。

        在频域处理图像,主要分为以下几种:

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。

更多推荐