1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Halcon三维测量(1):基于深度图的测量

Halcon三维测量(1):基于深度图的测量

时间:2022-09-28 21:20:06

相关推荐

Halcon三维测量(1):基于深度图的测量

1.Halcon测量有两种方式,

一种是对点云模型处理。对点云(x,y,z)做连通域分割,或使用数组排序处理的方式。对深度图X,Y,Z的处理。本文重点讲解将深度图拆分成X,Y,Z视差图。将图像从三维转换成二维,以二维图像的处理手段处理三维数据。

一.拆分深度图

从左到右依次为原深度图,X,Y,Z视差图

二.测距

方法1 二值化方法寻找边缘轮廓线
选中第一部分测量区域二值化,提取边缘轮廓

选中第二部分测量区域二值化,提取边缘轮廓

方法2:Canny算法寻找边缘轮廓线

edges_sub_pix (ImageReduced1,//输入图像Edges2,//输出区域'canny', //Canny算法1,//高斯滤波参数20, //低阈值40//高阈值)

边缘检测之Canny算法详解

方法3:将轮廓线拟合成直线,测距

gen_contour_region_xld (Regions, Contours, 'border')input: 1.Regions //输入区域2.'border'//区域外边界Output:3.Contours//输出轮廓crop_contours_xld (Contours, CroppedContours, R1[0]+2, R1[1]+2, R1[2]+2, R1[3]-2, 'false')用矩形裁剪轮廓Input:4.Contours//输入的轮廓5.R1[0]+2, R1[1]+2, R1[2]+2, R1[3]-2//裁剪轮廓的矩形对角线坐标6.'false' //裁剪的是闭合区域则设置为’true’,但轮廓线设置为’false’7.concat_obj (Contours1, Contours2, ObjectsConcat)将两个区域,数组,轮廓线…合并到一个数组中。input: Contours1, Contours2output: ObjectsConcatfit_line_contour_xld (Edges2, 'tukey', -1, 0, 5, 2, RowBegin2, ColBegin2, RowEnd2, ColEnd2, Nr1, Nc1, Dist1)用线段近似XLD轮廓Inpute:8.Edges2 //输入轮廓9.'tukey' //线拟合算法 加权“最小二乘”线拟合10.用于计算的最大轮廓点数(所有点为-1)11.拟合时忽略轮廓开始和结束点的数量。12.最大迭代次数6.13. RowBegin2 //线段的起始点的行坐标。14. ColBegin2 //线段的起始点的列坐标。15. RowEnd2//线段的终止点的行坐标。10 ColEnd2//线段的终止点的列坐标。16. Nr1 //线段法向量的行坐标17. Nc1 //线段法向量的列坐标13.Dist1 //直线参数:直线到原点的距离

三.高度差计算

1.视差图的概念:同一颜色的区域深度相同

2.在高度z视差图上截取两部分区域,计算区域的平均值即刻代表区域高度。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。