- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HALCON 形状匹配总结
Halcon 有三种模板匹配方法:即 Component-Based 、
Gray-Value-Based 、Shaped_based, 分别是基于组件(或成
分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,
此外还有变形匹配和三维模型匹配也是分属于前面的大类
本文只对形状匹配做简要说明和补充:
Shape_Based 匹配方法:
上图介绍的是形状匹配做法的一般流程及模板制作的两种
方法。
先要补充点知识:形状匹配常见的有四种情况 一般形状匹
配模板 shape_model 、线性变形匹配模板
planar_deformable_model 、局部可变形模板
local_deformable_model 、和比例缩放模板 Scale_model
第一种是不支持投影变形的模板匹配,但是速度是最高的,
第二种和第四种是支持投影变形的匹配,第三种则是支持局
部变形的匹配。
一般形状匹配模板是最常用的,模板的形状和大小一经制作
完毕便不再改变,在查找模板的过程中,只会改变模板的方
向和位置等来匹配目标图像中的图像。这个方法查找速度很
快,但是当目标图像中与模板对应的图像存在比例放大缩小
或是投影变形如倾斜等,均会影响查找结果。涉及到的算子
通常为
create_shape_model
和
find_shape_model
线性变形匹配模板
planar_deformable_model
是指模板在行
列方向上可以进行适当的缩放。行列方向上可以分别独立的
进行一个适当的缩放变形来匹配。主要参数有行列方向查找
缩放比例、图像金字塔、行列方向匹配分数(指可接受的匹
配分数,大于这个值就接受,小于它就舍弃) 、设置超找的
角度、已经超找结果后得到的位置和匹配分数
线性变形匹配又分为两种:带标定的可变形模板匹配和不带
标定的可变形模板匹配。涉及到的算子有:
不带标定的模板:创建和查找模板算子
create_planar_uncalib_deformable_model 和
find_planar_uncalib_deformable_model
带标定模板的匹配:先读入摄像机内参和外参
read_cam_par 和 read_pose 创建和查找模板算子
create_planar_calib_deformable_model 和
find_planar_calib_deformable_model
局部变形模板 是指在一张图上查找模板的时候,可以改变
模板的尺寸,来查找图像上具有局部变形的模板。例如包装
纸袋上图案查找。参数和线性变形额差不多
算子如下: create_local_deformable_model 和
find_local_deformable_model
比例缩放末班匹配 是介于一般形状匹配和线性变形匹配之
间的一种方法。它可以匹配放大或是缩小的模板,但是仅限
于模板大小的缩放,即行列缩放因子一样。这也是它和线性
缩放最大的不同。
涉及到的算子如下: create_scale_shape_model 和
find_scale_shape_model
HALCON 形状匹配
LIntExport Herror
create_shape_model(const Hobjectamp;
Template ,
//reduce_domain 后的模板图像
Hlong
NumLevels,
//金字塔的层数,可设为“auto ”或
0— 10 的整数
Double
AngleStart,
//模板旋转的起始角度
Double
AngleExtent,
//模板旋转角度范围 , gt;=0
Double
AngleStep,
//旋转角度的步长,
gt;=0 and
lt;=pi/16
const char* Optimization, //设置模板优化和模板创建方
法
const char* Metric, //匹配方法设置
Hlong Contrast, //设置对比度
Hlong MinContrast , //设置最小对比度
Hlong* ModelID ) //输出模板句柄
进一步分析:
NumLevels 越大,找到匹配使用的时间就越小。 另外必须保
证最高层的图像具有足够的信息(至少四个点) 。可以通过
inspect_shape_model 函数查看设置的结果。如果最高层金
字塔的消息太少,算法内部会自动减少金字塔层数,如果最
底层金字塔的信息太少,函数就会报错。如果设为 auto ,算
法会自动计算金字塔的层数,我们可以通过
get_shape_model_params 函数查看金字塔的层数。如果金
字塔的层数太大,模板不容易识别出来,这是需要将
find_
原创力文档


文档评论(0)