頻率域濾波基礎之五(讀數字圖像處理學習halcon)

選擇性濾波

在很多應用中,其中感興趣是處理指定的頻段或頻率矩形。第一類濾波器分別稱爲帶阻濾波器或帶通濾波器。第二類濾波器稱爲陷波濾波器。

1、帶阻濾波和帶通濾波


D(u,v)是距離頻率矩形中心的距離,D0是帶寬的徑向中心,W是帶寬。一個帶同濾波器可以用從低通濾波器得到高通濾波器的相同的方法從帶阻濾波器中得到


halcon生成理想帶阻帶通和高斯帶阻帶通的代碼

read_image (Image, 'D:/halcon work/fft/1.png')
rgb1_to_gray (Image, GrayImage)
get_image_size (GrayImage, Width, Height)
fft_generic (GrayImage, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')
gen_bandpass (ImageBandpass, 0.4, 0.5, 'none', 'dc_center', Width, Height)
gen_bandfilter (ImageFilter, 0.4, 0.5, 'none', 'dc_center', Width, Height)
gen_std_bandpass (ImageFilter2, 0.5, 0.1, 'gauss', 'none', 'dc_center', Width, Height)
gen_image_const (Image2, 'real', Width, Height)
paint_region (Image2, Image2, ImageResult1, 1, 'fill')
sub_image (ImageResult1, ImageFilter2, ImageSub1, 1, 0)


2、陷波濾波器

這是一種更加有用的選擇性濾波器。它拒絕(或通過)事先定於的關於頻率矩形中心的一個鄰域的頻率。零相移濾波器必須是關於原點對稱的,因此,一箇中心位於(u0,v0)的陷波在位置(-u0,-v0)必須有一個對應的陷波(或者說 由於傅里葉的週期性,傅里葉頻譜上不可能單獨存在一個點的噪聲,必定是關於遠點對稱的一個噪聲對)。陷波帶阻濾波器可以用中心已被平議到陷波濾波器中心的高通濾波器的乘積來構造。一般形式

其中,Hk(u,v)和H-k(u,v)是高通濾波器,它們的中心分別位於,(uk,vk)和(-uk,-vk)處。這些點也是我們要去除的噪聲點。這些中心是根據頻率矩形中心(M/2,N/2)來確定的。對於每個濾波器,距離的計算由下式執行:


對於陷波帶通濾波器照樣可以通過從低通得到高通的相同方法得到。

用halcon來構建一個去除摩爾紋的例子

read_image (Image1, 'D:/halcon work/fft/a.jpg') 
rgb1_to_gray(Image1, Image) 
get_image_size (Image, Width, Height) 
optimize_fft_speed (Width, Height, 'standard') 
fft_generic (Image, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex') 
power_real (ImageFFT, PowerSpectrum) 
binomial_filter (PowerSpectrum, ImageSmooth, 9, 9) 
threshold (ImageSmooth, Region, 128, 100000) 
connection (Region, ConnectedRegions) 
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 5, 200)
dilation_circle (SelectedRegions, RegionDilation, 3.5)
paint_region (RegionDilation, ImageFFT, ImageFFTFiltered, 0, 'fill')
fft_generic (ImageFFTFiltered, ImageFiltered, 'from_freq', 1, 'sqrt', 'dc_center', 'byte')


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章