PCL 点云数学形态学滤波

一、简介

基本原理:使用结构元素(通常为滤波的窗口)的窗口模板作为处理单元,利用形态学中的膨胀与腐蚀相组合即可达到滤波的效果。

点云数据中的数学形态学运算其实和二维图像上的运算非常相似,图像上像素有x,y和亮度值,我们往往就是在修改每个像素的亮度值;而点云中的点则是(x,y,z),以此及彼很容易就可以理解点云中的膨胀其实就是对点的z值进行操作。

简单来讲,点云中的膨胀操作其实就是将点的高度提升为领域内的最高值,腐蚀操作则正好相反,即将点的高度降低为邻域内的最低值。基于形态学的点云滤波主要使用其中的开运算:首先对点云数据进行腐蚀(取低值),这样可以滤除掉比结构元素尺寸小的树木点等非地面点;然后再进行膨胀(取高值),这样可以恢复被腐蚀掉的建筑物等边缘。最后,根据预先设置好的高差阈值,就可以对地面点和非地面点进行分离,达到我们想要的点云滤波效果。

二、实现代码

算法部分:

MorphologicalFilter.h

#define _USE_M

猜你喜欢

转载自blog.csdn.net/dayuhaitang1/article/details/130909387