Halcon学习资料整理.doc

上传人:夺命阿水 文档编号:9442 上传时间:2022-06-23 格式:DOC 页数:4 大小:86.50KB
返回 下载 相关 举报
Halcon学习资料整理.doc_第1页
第1页 / 共4页
Halcon学习资料整理.doc_第2页
第2页 / 共4页
Halcon学习资料整理.doc_第3页
第3页 / 共4页
Halcon学习资料整理.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《Halcon学习资料整理.doc》由会员分享,可在线阅读,更多相关《Halcon学习资料整理.doc(4页珍藏版)》请在课桌文档上搜索。

1、模板匹配HDevelop开发环境中提供的匹配的方法主要有三种,即ponent-Based、Gray-Value-Based、Shape-Based,分 别是基于组件或成分、元素的匹配,基于灰度值的匹配和基于形状的匹配1. Shape-Based matching的根本流程HALCON提 供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人 体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。根本流程是这样的,如下所示: 首先确定出ROI的矩形区域

2、,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心; 然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进展一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等; 接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大如此找到物体的时间越少,AngleStart和AngleExtent决定

3、可能的旋转X围,AngleStep指定角度X围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。对特别大的模板,用Optimization来减少模板点的数量是很有用的;MinConstrast将模板从图像的噪声中别离出来,如果灰度值的波动X围是10,如此MinConstrast应当设为10;Metric参数决定模板识别的条件,如果设为use_polarity,如此图像中的物体和模板必须有一样的比照度;创建好模板后,这时还需要监视模板,用inspect_shape_model()来完成,它检查参数的适用性,还能帮助找到适宜的参数;另外,还需要获得这个模板的轮廓,用于后

4、面的匹配,get_shape_model_contours()如此会很容易的帮我们找到模板的轮廓; 创建好模板后,就可以打开另一幅图像,来进展模板匹配了。这个过程也就是在新图像中寻找与模板匹配的图像局部,这局部的工作就由函数find_shape_model()来承当了,它也拥有许多的参数,这些参数都影响着寻找模板的速度和精度。这个的功能就是在一幅图中找出最优匹配的模板,返回一个模板实例的长、宽和旋转角度。其中参数SubPixel决定是否准确到亚像素级,设为interpolation,如此会准确到,这个模式不会占用太多时间,假如需要更准确,如此可设为least_square,lease_squa

5、re_high,但这样会增加额外的时间,因此,这需要在时间和精度上作个折中,需要和实际联系起来。比拟重要的两个参数是MinSocre和Greediness,前一个用来分析模板的旋转对称和它们之间的相似度,值越大,如此越相似,后一个是搜索贪婪度,这个值在很大程度上影响着搜索速度,假如为0,如此为启发式搜索,很耗时,假如为1,如此为不安全搜索,但最快。在大多数情况下,在能够匹配的情况下,尽可能的增大其值。 找到之后,还需要对其进展转化,使之能够显示,这两个函数vector_angle_to_rigid()和affine_trans_contour_xld()在这里就起这个作用。前一个是从一个点和角

6、度计算一个刚体仿射变换,这个函数从匹配函数的结果中对构造一个刚体仿射变换很有用,把参考图像变为当前图像。其详细的流程图和中间参数,如如下图所示:无法上传2. 基于形状匹配的参数关系与优化 在HALCON的说明资料里讲到了这些参数的作用以与关系,在上面提到的文章中也作了介绍,这里主要是重复说明一下这些参数的作用,再强调一下它们影响匹配速度的程度;在为了提高速度而设置参数之前,有必要找出那些在所有测试图像中匹配成功的设置,这时需考虑以下情况: 必须保证物体在图像边缘处截断,也就是保证轮廓的清晰,这些可以通过形态学的一些方法来处理; 如果Greediness值设的太高,就找不到其中一些可见物体,这时

7、最后将其设为0来执行完全搜索; 物体是否有封闭区域,如果要求物体在任何状态下都能被识别,如此应减小MinScore值; 判断在金字塔最高级上的匹配是否失败,可以通过find_shape_model减小NumLevels值来测试; 物体是否具有较低的比照度,如果要求物体在任何状态下都能被识别,如此应减小MinContrast值; 判断是否全局地或者局部地转化比照度极性,如果需要在任何状态下都能被识别,如此应给参数Metric设置一个适宜的值; 物体是否与物体的其他实例重叠,如果需要在任何状态下都能识别物体,如此应增加MaxOverlap值; 判断是否在一样物体上找到多个匹配值,如果物体几乎是对称

8、的,如此需要控制旋转X围;如何加快搜索匹配,需要在这些参数中进展合理的搭配,有以下方法可以参考: 只要匹配成功,如此尽可能增加参数MinScore的值; 增加Greediness值直到匹配失败,同时在需要时减小MinScore值; 如果有可能,在创建模板时使用一个大的NumLevels,即将图像多分几个金字塔级; 限定允许的旋转X围和大小X围,在调用find_shape_model时调整相应的参数; 尽量限定搜索ROI的区域;除上面介绍的以外,在保证能够匹配的情况下,尽可能的增大Greediness的值,因为在后面的实验中,用模板匹配进展视频对象跟踪的过程中,这个值在很大程度上影响到匹配的速度。当然这些方法都需要跟实际联系起来,不同图像在匹配过程中也会有不同的匹配效果,在具体到某些应用,不同的硬件设施也会对这个匹配算法提出新的要求,所以需要不断地去尝试。在接下来我会结合自己做的具体的实验来如何利用HALCON来进展实验,主要是在视频对象分割和视频对象的跟踪方面。4 / 4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号