函数:根据航拍图像提取道路
该函数是根据lines_gauss算子提取轮廓线,在根据轮廓线提取平行线,最后判断满足条件的平行线即默认为是道路。
RDB(Ramer–Douglas–Peucker):减少线段中的点。该算法递归进行,首先设定一个阈值,在点集的第一个点和最后一个点间拉一条线段,找出剩下的点集中离线段最远的一个点,如果该点到线段的距离小于阈值则舍弃中间的所有点,如果大于阈值。将该点作为中间点和最初的两个点生成两条线段,重复上述过程。
效果图:

算子:
1.lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : ):检测线条及其宽度
参数:
Sigma:平滑量
Low:滞后阈值的低阈值
High:滞后阈值的高阈值
LightDark:提取亮线还是暗线
ExtractWidth:是否应该提取线宽
LineModel:线模型用于修正线的位置和宽度
CompleteJunctions :是否应该在不能提取的地方添加连接
2.clip_contours_xld(Contours : ClippedContours : Row1, Column1, Row2, Column2 : ):剪切一个XLD轮廓
3.gen_polygons_xld(Contours : Polygons : Type, Alpha : ):用多边形近似轮廓
参数:
Type:类型的近似( Ramer算法)
Alpha:近似的阈值
4.gen_parallels_xld(Polygo

本文介绍了一个利用Halcon函数p_do_roads从航拍图像中提取道路的方法。通过lines_gauss算子检测线条,再利用RDB算法减少点集,接着提取平行线并设置条件判断,最终得到道路。主要涉及lines_gauss、clip_contours_xld、gen_polygons_xld、gen_parallels_xld、mod_parallels_xld和combine_roads_xld等算子。
最低0.47元/天 解锁文章
437

被折叠的 条评论
为什么被折叠?



