detect_indent_fft.hdev相关例程学习(检测凹痕)
来源:互联网 发布:淘宝店仓库管理软件 编辑:程序博客网 时间:2024/04/28 10:56
Index:.../Applications/Surface-Inspection/detect_indent_fft.hdev
主要步骤:
主要步骤:
* Optimize the fft speed for the specific image size
optimize_rft_speed (Width, Height, 'standard')
* 选取了最优rft变化速度的图像大小
* Construct a suitable filter by combining two gaussian
* filters
Sigma1 := 10.0
Sigma2 := 3.0
gen_gauss_filter (GaussFilter1, Sigma1, Sigma1, 0.0, 'none', 'rft', Width, Height)
gen_gauss_filter (GaussFilter2, Sigma2, Sigma2, 0.0, 'none', 'rft', Width, Height)
sub_image (GaussFilter1, GaussFilter2, Filter, 1, 0)
* 建立两个高斯滤波器然后又结合起来
*要搞明白究竟何为高斯滤波器
*要搞明白究竟何为高斯滤波器
* Process the images iteratively
NumImages := 11
for Index := 1 to NumImages by 1
*
* Read an image and convert it to gray values
read_image (Image, 'plastics/plastics_' + Index$'02')
rgb1_to_gray (Image, Image)
* Perform the convolution in the frequency domain
rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)
convol_fft (ImageFFT, Filter, ImageConvol)
rft_generic (ImageConvol, ImageFiltered, 'from_freq', 'n', 'real', Width)
* 各种rft变化加卷积在rft变化
* Process the filtered image
gray_range_rect (ImageFiltered, ImageResult, 10, 10)
*通过此步骤就找到了凹痕所在,看了这个算子的帮助文档,我就明白关键在于计算了每个mask中灰度的差,然后给一个总返回值,没有参考文献,看来是halcon自己的算法。
*通过此步骤就找到了凹痕所在,看了这个算子的帮助文档,我就明白关键在于计算了每个mask中灰度的差,然后给一个总返回值,没有参考文献,看来是halcon自己的算法。
min_max_gray (ImageResult, ImageResult, 0, Min, Max, Range)
threshold (ImageResult, RegionDynThresh, max([5.55,Max * 0.8]), 255)
connection (RegionDynThresh, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 4, 99999)
union1 (SelectedRegions, RegionUnion)
closing_circle (RegionUnion, RegionClosing, 10)
connection (RegionClosing, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 10, 99999)
area_center (SelectedRegions1, Area, Row, Column)
* 一系列提取算法,没有需要关注的point
学习了这个例程,明白如何有效构建高斯滤波器和利用fft变化,halcon里有rft和fft不知道内在区别,但核心都是FFT。
0 0
- detect_indent_fft.hdev相关例程学习(检测凹痕)
- Creat_average_shape_model.hdev例程相关学习(一)
- Creat_average_shape_model.hdev例程相关学习(二)
- Creat_average_shape_model.hdev例程相关学习(三)
- decode_bar_code_rectangle2.hdev相关例程学习(解码)
- Creat_average_shape_model.hdev例程相关学习(一)
- measure_circuit_width_lines_gauss.hdev检测pcb线宽 相关例程学习
- measure_diamond.hdev检测钻石底尖的 相关例程学习
- measure_fill_level.hdev水平线到位检测 相关例程学习
- find_pads.hdev例程相关学习
- Creat_local_deformable_model_xld.hdev例程相关学习
- Determine_grid_rotation_fft.hdev相关例程学习
- determine_ncc_model_params.hdev相关例程学习
- Find_cocoa_packages_local_deformable.hdev相关例程学习
- Find_mirror_dies.hdev相关例程学习
- find_scratches_bandpass_fft.hdev相关例程学习
- find_surface_model.hdev相关例程学习
- find_text_bottle_label.hdev相关例程学习
- OC_可见度,方法
- TextView 去掉自适应默认的fontpadding
- decode_bar_code_rectangle2.hdev相关例程学习(解码)
- ELF文件格式
- 2.Android 发布版本图和应用开发特色
- detect_indent_fft.hdev相关例程学习(检测凹痕)
- 把EXE和配置文件打包为单文件EXE
- M.Determine_die_pitch_fft_correlation.hdev相关学习(fft变化)
- Java网络请求
- 搞懂Determine_die_pitch_fft_correlation补,FFT部分
- 设计模式之单例模式
- 搞懂Determine_die_pitch_fft_correlation补,hessian matrix部分
- IT成长记录一
- Determine_grid_rotation_fft.hdev相关例程学习