欢迎来到天天文库
浏览记录
ID:58820202
大小:29.00 KB
页数:22页
时间:2020-10-25
《HALCON形状匹配总结.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、HALCON形状匹配总结Halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类本文只对形状匹配做简要说明和补充:Shape_Based匹配方法:上图介绍的是形状匹配做法的一般流程及模板制作的两种方法。先要补充点知识:形状匹配常见的有四种情况一般形状匹配模板shape_model、线性变形匹配模板planar_deformable_model
2、、局部可变形模板local_deformable_model、和比例缩放模板Scale_model第一种是不支持投影变形的模板匹配,但是速度是最高的,第二种和第四种是支持投影变形的匹配,第三种则是支持局部变形的匹配。一般形状匹配模板是最常用的,模板的形状和大小一经制作完毕便不再改变,在查找模板的过程中,只会改变模板的方向和位置等来匹配目标图像中的图像。这个方法查找速度很快,但是当目标图像中与模板对应的图像存在比例放大缩小或是投影变形如倾斜等,均会影响查找结果。涉及到的算子通常为create_shape_model和find_sha
3、pe_model线性变形匹配模板planar_deformable_model是指模板在行列方向上可以进行适当的缩放。行列方向上可以分别独立的进行一个适当的缩放变形来匹配。主要参数有行列方向查找缩放比例、图像金字塔、行列方向匹配分数(指可接受的匹配分数,大于这个值就接受,小于它就舍弃)、设置超找的角度、已经超找结果后得到的位置和匹配分数线性变形匹配又分为两种:带标定的可变形模板匹配和不带标定的可变形模板匹配。涉及到的算子有:不带标定的模板:创建和查找模板算子create_planar_uncalib_deformable_mode
4、l和find_planar_uncalib_deformable_model带标定模板的匹配:先读入摄像机内参和外参read_cam_par和read_pose创建和查找模板算子create_planar_calib_deformable_model和find_planar_calib_deformable_model局部变形模板是指在一张图上查找模板的时候,可以改变模板的尺寸,来查找图像上具有局部变形的模板。例如包装纸袋上图案查找。参数和线性变形额差不多算子如下:create_local_deformable_model和fin
5、d_local_deformable_model比例缩放末班匹配是介于一般形状匹配和线性变形匹配之间的一种方法。它可以匹配放大或是缩小的模板,但是仅限于模板大小的缩放,即行列缩放因子一样。这也是它和线性缩放最大的不同。涉及到的算子如下:create_scale_shape_model和find_scale_shape_modelHALCON形状匹配LIntExportHerrorcreate_shape_model(constHobject&Template,//reduce_domain后的模板图像HlongNumLev
6、els,//金字塔的层数,可设为“auto”或0—10的整数DoubleAngleStart,//模板旋转的起始角度DoubleAngleExtent,//模板旋转角度范围,>=0DoubleAngleStep,//旋转角度的步长,>=0and<=pi/16constchar*Optimization,//设置模板优化和模板创建方法constchar*Metric,//匹配方法设置HlongContrast,//设置对比度HlongMinContrast,//设置最小对比度Hlong*ModelID)//输出模板
7、句柄进一步分析:NumLevels越大,找到匹配使用的时间就越小。另外必须保证最高层的图像具有足够的信息(至少四个点)。可以通过inspect_shape_model函数查看设置的结果。如果最高层金字塔的消息太少,算法内部会自动减少金字塔层数,如果最底层金字塔的信息太少,函数就会报错。如果设为auto,算法会自动计算金字塔的层数,我们可以通过get_shape_model_params函数查看金字塔的层数。如果金字塔的层数太大,模板不容易识别出来,这是需要将find_shape_model函数中MinScore和Greedines
8、s参数设置的低一些。如果金字塔层数太少找到模板的时间会增加。可以先使用inspect_shape_model函数的输出结果来选择一个较好的金字塔层数。参数AngleStart、AngleExtent定义了模板可能发生旋转的范围。注意模板在find_
此文档下载收益归作者所有