资源描述:
《halcon定位学习基于形状的匹配.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、基于形状的匹配1>创建ROI Ø使用Halcon算子可以方便的设置ROI Ø标准形状 ◆draw_rectangle1/2 ◆draw_circle ◆draw_ellipse ◆draw_line Ø任意形状 ◆draw_region ◆draw_polygon Ø生成标准ROI ◆gen_rectangle1/2 ◆gen_circle ◆gen_ellipse ◆gen_region_line Ø通过XLD创建AOI ◆gen_region_contour_xld ◆gen_region_polygon_xld2>生成ROI 根据创建模板时得到的数
2、据,生成ROI区域,例如gen_rectangle2(ROI,Row,Column,Phi,Length1,Length2) 3>修正ROI Ø修正函数 ◆erosion_*减小ROI ◆dilation_*扩大ROI ◆shape_trans形状转换 ◆boundary像素级边界 ◆move_region移动区域到新位置 Ø组合 ◆Intersection交集 ◆Difference差集 ◆Union2并集 4>直接创建模板 Øcreate_shape_model( Template,//模板图像 NumLevels,//图像金字塔,将图片分辨降低N倍 An
3、gleStart,//起始角度 AngleExtent,//角度范围 AngleStep,//角度步长 Optimization,//优化算法 Metric,//极性,设置模板前景与背景、目标前景与背景的关系 Contrast,//对比度 MinContrast,//最小对比度 ModelID//模板ID ) create_scaled_shape_model create_aniso_shape_model 注释: 参数Contrast不仅仅是对比度,数组元素数量不同,其意义不同 ◆1个元素时:128,对比度,直接提取边缘 ◆2个元素时:[100,128],
4、表示使用磁滞分割来提取边缘 ◆3个元素时:[100,128,10],前两个参数同2,最后一个参数表示所提取边缘的最小长度为10. 参数Optimization 一些模板包含了太多像素点,这导致 ◆模板过大 ◆增加执行时间 ◆增加了内存需求 Ø参数Optimization用来减少这些点 ◆none不减少像素 ◆point_reduction_low大约一半点 ◆point_reduction_medium大约1/3 ◆point_reduction_high大约1/4 Ø减少点可能导致的问题 ◆可能导致无法创建高层金字塔 ◆有可能会降低结果的精度和准确度原则 ◆
5、边缘较多时才减少 Ø相同环境下,Optimization取值不同时的运行时间对比 ◆none14.53ms ◆point_reduction_low12.53ms ◆point_reduction_medium11.39ms ◆point_reduction_high10.67ms 参数-MinContrast 参数MinContrast是在查找模板的时候,来减少“有害”边缘的。它的值可通过下面方法得到 ◆estimate_noise函数 ◆inspect_shape_model函数 5>模板参数-程序获取 determine_shape_model_para
6、ms( Template,模板 ‘auto’,金字塔层数 0,起始角度 rad(360),角度范围 0.9,缩小范围 1.1,放大范围 ‘auto’,减少像素的方法 ‘use_polarity’,极性 ‘auto’,对比度 ‘auto’,最小对比度 ‘all’,Whichvalues ParameterName,Nameofvalues ParameterValue)Values 6>通过Dxf文件创建模板 Ø通过像素轮廓可以直接创建模板 ◆read_contour_xld_dxf ◆create_shape_model_xld ◆create_scaled_
7、shape_model_xld ◆create_aniso_shape_model_xld 7>边界处理 ØHALCON提供了两种边界处理方法 Øset_system(’border_shape_models’,’false‘) ◆模板必须在roi内 ◆靠近边缘部分会被裁减 Øset_system(’border_shape_models’,’true‘) ◆模板可以部分在ROI外面 ◆注意:分值会降低