halcon模板匹配总结

halcon模板匹配总结,第1张

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的快捷键以及算子结构介绍等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9770355.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存