
halcon的模板匹配可以归为三类:
1、基于灰度:灰度,互相关ncc
2、基于形状:形状,组件
3、基于描述符:描述匹配
应用场合:定位对象内部的灰度值没有大的变化,没有缺失部分,没有干扰图像和噪声的场合。
1创建模板:create_template()
2寻找模板:best_match()
3释放模板:clear_template()
应用场合:搜索对象有轻微的变形,大量的纹理,图像模糊等场合,速度快,精度低。
1创建模板:create_ncc_model()
2寻找模板:find_ncc_model(),find_ncc_models()
3释放模板:clear_ncc_model()
4get_ncc_model_region (ModelRegion, ModelID)
smallest_rectangle2 (ModelRegion, Row3, Column3, Phi, Length1, Length2)
应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合。
算法步骤:
1获取组件模型里的初始控件 gen_initial_components()
参数:
ModelImage [Input] 初始组件的
InitialComponents [Output] 初始组件的轮廓区域
ContrastLow [Input] 对比度下限
ContrastHigh [Input] 对比度上限
MinSize [Input] 初始组件的最小尺寸
Mode[Input] 自动分段的类型
GenericName [Input] 可选控制参数的名称
GenericValue [Input] 可选控制参数的值
2根据图像模型,初始组件,训练来训练组件和组件相互关系 train_model_components()
3创建组件模型 create_trained_component_model()
4寻找组件模型 find_component_model()
5释放组件模型 clear_component_model()
应用场合:定位对象内部的灰度值可以有变化,但对象轮廓一定要清晰平滑。
1创建形状模型:create_shape_model()
2寻找形状模型:find_shpae_model()
3释放形状模型:clear_shape_model()
应用场合:搜索对象有轻微的变形。
1创建模板:create_local_deformable_model()
2寻找模板:find_local_deformable_model()
3释放模板:clear_deformable_model()
应用场合:搜索对象有轻微的变形,透视的场合,根据一些描述点的位置和灰度值来进行匹配。
1创建模板:create_calib_descriptor_model()
2寻找模板:find_calib_descriptor_model()
3释放模板:clear_descriptor_model()
qt多次调用函数显示多张解决办法如下:
断开槽函数链接 只显示一遍;若要循环播放,改为 img_index=0 即可 } 三、资源 完整工程代码(vs2015/qt5100
ctrl+E 打开浏览例程
ctrl+F 查找
F1 查看帮助文档
F2 重置程序
F3 取消注释
F4 注释
F5 运行
F6 单步运行
F7 单步进入函数
F8 单步退出函数
draw_ 表示界面互动的算子,需要人去画区域
gen_ 表示生成类的算子,比如生成圆形、矩形等
get_ 获取某些属性的算子
tuple_ 代表与数组有关的算子
select_ 代表筛选有关的算子
带有 contour表示轮廓xid有关的算子
带有 gray表示会读有关的算子
halcon中算子主要分为两类,参数运算类,对象运算类;对象包括区域,轮廓xid、图像等。参数运算类一般都是数组等,一般输入输出都为数组,参数多数只有两个值;对于对象运算类算子,一般是第一参数是输入对象,第二个为输出对象,也就是运算结果,而第三行以外的为参数选项。
总结:熟练gen_circle_sector 、reduce_domain、difference算子,截取感兴趣区域,以及生成想要的扇形区域;
使用Halcon对自定义ROI区域进行边缘检测双击打开Halcon。
机器视觉在自动化领域变得越来越重要了,为了让自己的技术更进一步提升,以前做电工、PLC的工程师们在思考着转行学视觉,得知HALCON在企业需求的人才比较多,所以首先要了解视觉软件,打开视觉软件的大门。
要知道图像的基础知识,至少先在文字层面上进行学习,比如什么是灰度,什么是位图,什么是深度,什么是通道,什么是像素,什么是灰度,什么是滤波等等,在第一个阶段,不要去深挖各种理论,先在文字层面上理解这是什么意思即可,其实,对我们应用层开发来讲,机器视觉工程师讲究的是一个系统集成的能力,对工程工艺的理解,而不是深挖理论,术业有有专攻,第一阶段切勿对不理解的公式去深挖,不懂得跳过这个,后期循序渐进或者学习,不懂的也不会对你后期开发有多大的影响。
halcon用基于轮廓的模版匹配,匹配到之后,会有一个参数输出目标与原模版相比旋转的角度和坐标。原图的左上角点和右下角点连线,再把旋转之后图的上角与下角连线,测量两条线的角度。两个相等的三角形,对应角相等,再利用勾股定理,或三角函数即可得出旋转后图像的坐标点了。
坐标点角的介绍
方位角又称地平经度,是在平面上量度物体之间的角度差的方法之一。是从某点的指北方向线起,依顺时针方向到目标方向线之间的水平夹角。真方位角。某点指向北极的方向线叫真北方向线,而经线,也叫真子午线。
由真子午线方向的北端起,顺时针量到直线间的夹角,称为该直线的真方位角,一般用A表示。通常在精密测量中使用。磁方位角。地球是一个大磁体,地球的磁极位置是不断变化的,某点指向磁北极的方向线叫磁北方向线,也叫磁子午线。
在地形图南、北图廓上的磁南、磁北两点间的直线,为该图的磁子午线。由磁子午线方向的北端起,顺时针量至直线间的夹角,称为该直线的磁方位角,用Am表示。坐标方位角。由坐标纵轴方向的北端起,顺时针量到直线间的夹角,称为该直线的坐标方位角,常简称方位角,用a表示。
step1:准备数据
在图像选择区域作为训练集,可以是矩形,也可以是任意形状的区域。
step2:创建一个MLP
step3:添加训练数据
step4:查看训练样本数量(非必须)
step5:训练
step6:映射颜色表
step7:使用
step8:看效果
参考:classify_image_class_luthdev,texture_laws_mlphdev,segment_citrus_fruitshdev
参考:create_class_mlp (Operator)
1、将MLP模型写入文件
write_class_mlp( : : MLPHandle, FileName : )
2、从文件中读入一个MLP模型
read_class_mlp( : : FileName : MLPHandle)
3、清除MLP
clear_class_mlp( : : MLPHandle : )
以上就是关于halcon模板匹配总结全部的内容,包括:halcon模板匹配总结、qt多次调用函数显示多张图片、Halcon的快捷键以及算子结构介绍等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)