二维测量----->两个方向的度量(卷积运算 锐化图像) 找边缘--->XLD边缘(extend line description 可扩展的线性描述) 本质是由点构成
第一步:采集图像
第二步:预处理(ROI--->定位 拉开对比度 几何变换 去噪)一阶导数(边缘清晰但边缘细节不高) // 二阶导数(细节高频点可以找到但边缘不清晰)
一阶导数:sobel---robert---canny(高斯平滑滤波--->sobel求梯度--->非极大值抑制--->高低阈值控制)---prewitt
二阶导数拉普拉斯:aplace
第三步:边缘亚像素提取
edges_sub_pix(输入图像,输出的亚像素XLD轮廓,算法,平滑系数,高低阈值)轮廓亚像素提取 Threshold_sub_pix()
union_cocircular_contours_xld(输入的亚像素XLD轮廓,联合之后的轮廓,最大角度差,最大重叠,切线角度,MaxTaryleAngle,最大半径差,最大圆心距,true/false,1)共圆联合
select_shape_xld(输入轮廓,输出轮廓,特征名称,)xld轮廓筛选
第四步:分割/联合/筛选
第五步:拟合(直线/圆/椭圆/矩形)--->最小二乘法
fit_circle_contour_xld(轮廓,算法,-1所有点,封闭圆的值,忽略点数,,剪切因子--->值越小去掉的离散点越多,拟合圆的行坐标,拟合圆的列坐标,拟合圆的半径,拟合圆的起始角度,拟合圆的终止角度)拟合圆
gen_circle_contour_xld(输出圆形轮廓,圆心行坐标,圆心列坐标,半径,起始角度,结束角度,顺/逆时针,)生成圆形轮廓
*length_xld(输入轮廓,周长值)求XLD的周长
*contour_point_num_xld(输入轮廓,点数值)求XLD的点数
contour_to_world_plane_xld()转世界轮廓
第六步:标定
第七步:测算实际