cloudcompar中道路边线半自动提取思路

需要借助OpenCV。
1,首先在点云数据中选中两个道路边线点,确定走向;
2,沿线走向,做垂直的矩形;
3,用矩形裁剪点云;
4,根据裁剪点云的实际长和宽,以及要划分的单元格大小,新建图像,像素值取落在该单元格的最大Z值。单元格大小以能区分出点云扫描线数据为准;
5,过滤掉点云数据中Z值过高异常点;
6,以最低点为基准,找出路面层,并获取路面层的平均Z值;
7,以6中在z值为阈值,二值化影像;
8,使用findContours(dstImg, tmpContours, herarcy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE);函数,找到图像中的线条,线条只保存拐点数据;
9,依次计算没个线条中,连续两点之间的坡度值,若值大于30度,则为备选的拐点;
10,从9中的备选拐点集合中,查找到Z值最小的点,作为道路边界线点;
11,以新找到的点为边线走向,循环2~10。

你可能感兴趣的:(c++)