收藏 分销(赏)

一个基于可变比例的匹配的halcon实例及详解.docx

上传人:s4****5z 文档编号:9438799 上传时间:2025-03-26 格式:DOCX 页数:3 大小:122.20KB
下载 相关 举报
一个基于可变比例的匹配的halcon实例及详解.docx_第1页
第1页 / 共3页
一个基于可变比例的匹配的halcon实例及详解.docx_第2页
第2页 / 共3页
点击查看更多>>
资源描述
一个基于可变比例的匹配的实例及详解   楼主# 更多发布于:2014-03-26 10:05 昨天说到的有两个有用的例子和大家分享,一个是基于1:1比例的匹配的实例,一个是基于可变比例的匹配, 今天的例子是基于可变比例的匹配。  * 读取一个轮廓模型(shape model),使这个模型可放大或缩小地进行寻找匹配。  dev_close_window ()  dev_open_window (0, 0, 600, 600, 'black', WindowHandle)  read_image(Image,'L:/Halcon test/mk3.jpg')  * 选取一张有各种大小,角度,甚至变形的商标的图片做测试  *read_image(Image,'L:/Halcon test/mk5.jpg')  gen_rectangle1 (ROI, 57.8333, 49.5, 181.167, 342.833)  * 画一个矩形选择ROI,矩形在左上角,覆盖一个完整的,无变形规定尺寸的商标,作为模板  reduce_domain(Image,ROI,ImageReduced)  * 大图和这个矩形的ROI相减就会得到一个左上角的商标的图案作为模板,命名ImageReduced  inspect_shape_model (ImageReduced, ModelImages, ModelRegions, 5, 40)  * 创建一个对比的模型,后面两个参数:第一个是层数(NumLevels,如5层),第二个是对比度阈值(具体用法效果还不是很明白)  * 这里看到前面有位朋友之前提到不理解金字塔层数的意义,这里解释一下,如图:    金字塔层数在inspect_shape_model设置为5层,那么相应的在create_scaled_shape_model 创建为5层,在find_scaled_shape_model查找为5层,上图中的5个紫色的箭头指的是就是金字塔层数,层数越多越容易被查找,反应的速度也就越快,一般是1-10层,但要注意保证最底层依然能被识别,主要是作为模板的图片的精度影响。一般5层左右识别的速度都可以接受了。  create_scaled_shape_model (ImageReduced, 5, rad(-180), rad(360), 0, 0.1, 5.0, 0, ['none','no_pregeneration'], 'ignore_global_polarity', 40, 10, ModelID)* 创建一个比例不变的匹配的轮廓模型  * create_scaled_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, Contrast, MinContrast : ModelID) * 01、Template,//reduce_domain后的模板图像  * 02、NumLevels,//金字塔的层数,可设为“auto”或0—10的整数* 03、AngleStart,//模板旋转的起始角度  * 04、AngleExtent,//模板旋转角度范围, >=0* 05、AngleStep,//旋转角度的步长, >=0 and <=pi/16  * 06、ScaleMin,//模板最小比例* 07、ScaleMax,//模板最大比例  * 08、ScaleStep,//模板比例的步长* 09、Optimization,//设置模板优化和模板创建方法  * 10、Metric, //匹配方法设置* 11、Contrast,//设置对比度  * 12、MinContrast,//设置最小对比度* 13、ModelID,//输出模板句柄  * write_shape_model (ModelID, 'mk.shm')  * 把这个模型保存成一个shm模板*clear_shape_model (ModelID)  stop()  *read_shape_model ('mk.shm', ModelID)find_scaled_shape_model (Image, ModelID, rad(-180), rad(360), 0.1, 5.0, 0.5, 0, 0.5, 'least_squares', 5, 0.8, Row, Column, Angle, Scale, Score)  * 匹配一个比例不变的轮廓模型,参数和创建的参数差不多get_shape_model_contours (ModelContours, ModelID, 1)  for I := 0 to |Score|-1 by 1      vector_angle_to_rigid (0, 0, 0, Row【i】, Column【i】, Angle【i】, HomMat2DRotate)    hom_mat2d_scale (HomMat2DRotate, Scale【i】, Scale【i】, Row【i】, Column【i】, HomMat2DScale)      affine_trans_contour_xld (ModelContours, ModelTrans, HomMat2DScale)    dev_display (ModelTrans)  endfor  disp_message (WindowHandle, '总共匹配了' + |Score| + '个商标', 'window', 12, 12, 'red', 'true')  disp_continue_message (WindowHandle, 'black', 'true')* 但是变形则不能被识别  stop ()  clear_shape_model (ModelID)  图片:MK3-test2.jpg   总共匹配了8 个形状相同,大小比例不同的商标,但紫色圈中的变形的商标并不能被识别。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服