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