1、在图像指定区域内拟合出圆形。
2、拟合圆形成功后,输出圆形的圆心坐标、半径、真圆度和真圆量。真圆度越小圆形越圆。
3、实现在图像拟合圆形,使用Halcon的两个算子,分别是MeasurePos()和FitCircleContourXld(),原型如下:
3.1、void HMeasure::MeasurePos(const HImage& Image, double Sigma, double Threshold, const char* Transition, const char* Select, HTuple* RowEdge, HTuple* ColumnEdge, HTuple* Amplitude, HTuple* Distance) const。
参数解释如下:
Image:待检测的单通道图像。
Sigma:高斯平滑系数,主要用于拟合前,平滑处理图像。
Threshold:最小边缘阀值,用于确定点是否是边缘点。
Transition:确定检测边缘点的位置,用于判别是检测从明到暗,还是从暗到明的边缘点。
all:检测所有点、negative:检测从明到暗的点、positive:检测从暗到明的点。
Select:选择输出的点。all:输出所有满足条件的点、first:输出第一个满足条件的点、last:输出最后一个满足条件的点。
RowEdge:输出点的Y坐标,一维数组形式。
ColumnEdge:输出点的X坐标,一维数组形式。
Amplitude:明确确定输出点明暗关系的属性, Amplitude[i]>0:从明到暗、Amplitude[i]<0从暗到明。
Distance:连续边之间的距离。
3.2、void HXLDCont::FitCircleContourXld(const char* Algorithm, Hlong M