C# 基于halcon的视觉工作流-章23-圆查找
C# 基于halcon的视觉工作流-章23-圆查找
本章目标:
一、创建圆卡尺工具;
二、测量及拟合圆;
三、匹配批量查找;
圆查找与章22直线查找过程相似,本文仅描述不同之处。
一、创建圆卡尺工具
创建圆测量对象,不同处仅为对象类型改为圆circle
halcon算子add_metrology_object_generic用于将计量对象添加到计量模型中,计量对象有多种,直线、圆、矩形和椭圆等,本文中属圆。
与C#联合开发时可用如下方法实现
HOperatorSet.AddMetrologyObjectGeneric(auto_MetrologyHandle,shape,shapeParam, measureLength1,measureLength2,measureSigma,measureThreshold, genParamName ,genParamValue, out HTuple index );
其中,auto_MetrologyHandle为输入模型句柄,
shape为计量对象的类型,此处为圆circle,不同处
lineParams为计量对象的参数,
measureLength1为卡尺半长,
measureLength2为卡尺半宽,
measureSigma为高斯函数的西格玛平滑,
measureThreshold为最小边缘振幅,
genParamName 为参数名,
genParamValue为参数值,
index 为输出的计量对象的索引
二、测量及拟合圆
测量及拟合使用的算子与上文相同,不同处在于输出结果的数值不同,如输出结果中,卡尺的轮廓为圆形、捕捉的边缘点呈圆形分布、输出结果参数中有圆心、半径,拟合形状为圆。
三、匹配批量查找
与上文直线查找相同,以匹配点找到圆检测区域,再找圆。
效果如下图,不论方向、角度如何,都能自动找到各零件指定区域的圆
上述内容需要一定的技术功底,本章至此已结束,欢迎阅读下章,谢谢!