缺陷检查/凹坑检测-快速傅里叶变换

来源:http://www.ihalcon.com/read-5044.html

核心

rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)
gen_sin_bandpass (ImageFilter, 0.2, 'none', 'rft', Width, Height)
convol_fft (ImageFFT, ImageFilter, ImageConvol)
rft_generic (ImageConvol, ImageFFT1, 'from_freq', 'n', 'real', Width)

 

threshold (Image, Region, 50, 255)

 closing_circle (Region, RegionClosing, 3.5)

 fill_up (RegionClosing, RegionFillUp)

connection (RegionFillUp, ConnectedRegions)

 select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)

 erosion_circle (SelectedRegions, RegionErosion, 80)//向内减了80

 rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)//Width是图片宽度

 

 gen_sin_bandpass (ImageFilter, 0.2, 'none', 'rft', Width, Height)

 convol_fft (ImageFFT, ImageFilter, ImageConvol)

 rft_generic (ImageConvol, ImageFFT1, 'from_freq', 'n', 'real', Width)

 mean_image (ImageFFT1, ImageMean, 11, 11)

 gray_range_rect (ImageMean, ImageResult, 21, 21)

 threshold (ImageResult, Region1, 40, 255)

 intersection (Region1, RegionErosion, RegionIntersection)

 dilation_circle (RegionIntersection, RegionDilation, 5.5)

 shape_trans (RegionDilation, RegionTrans, 'rectangle1')

 


 

dev_update_off ()
dev_set_draw ('fill')
read_image (Image, '3')
dev_display (Image)
threshold (Image, Region, 50, 255)
closing_circle (Region, RegionClosing, 3.5)
fill_up (RegionClosing, RegionFillUp)
connection (RegionFillUp, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
erosion_circle (SelectedRegions, RegionErosion, 80)
get_image_size (Image, Width, Height)
rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)
gen_sin_bandpass (ImageFilter, 0.2, 'none', 'rft', Width, Height)
convol_fft (ImageFFT, ImageFilter, ImageConvol)
rft_generic (ImageConvol, ImageFFT1, 'from_freq', 'n', 'real', Width)
mean_image (ImageFFT1, ImageMean, 11, 11)
gray_range_rect (ImageMean, ImageResult, 21, 21)
threshold (ImageResult, Region1, 40, 255)
intersection (Region1, RegionErosion, RegionIntersection)
dilation_circle (RegionIntersection, RegionDilation, 5.5)
shape_trans (RegionDilation, RegionTrans, 'rectangle1')
dev_set_draw ('margin')
dev_display (RegionTrans)

 


 

样图

 

posted @ 2024-08-15 15:08  ken0137  阅读(11)  评论(0编辑  收藏  举报