主要内容

中位数

中位过滤3-D点云数据

描述

例子

ptcloudout.= PCMedian(ptcloudin对三维点云数据执行中值滤波。该函数分别过滤点云的每个通道。输出是经过过滤的点云。每个输出位置属性值都是相应输入位置属性值周围邻域的中值。这个中位数函数在边缘上没有填充零。相反,它仅在可用的邻域值运行。

如果输入点云是有组织的点云,则中位数函数使用N-借-N邻域法。如果点云是无组织的,则函数使用径向邻域方法。

例子

ptcloudout.= PCMedian(___名称,价值使用一个或多个名称-值对参数指定选项。例如'过滤',3将有组织的点云设置为3的中值滤波器的大小。

例子

全部收缩

使用中位过滤器从点云中移除噪声。首先,向点云添加随机噪声。然后,使用中位数函数来过滤噪声。

创建一个点云。

gv=0:0.01:1[十、 Y]=网格网格(gv,gv);Z=X.^2+Y.^2;ptCloud=点云(类别(3,X,Y,Z));

添加随机噪声沿着Z.-轴。

temp = ptcloud.location;count = numel(temp(:,:,3));温度((2 * count)+ randperm(count,100))= rand(1,100);TEMP(COUNT + RANDPERM(COUNT,100))= RAND(1,100);温度(Randperm(Count,100))= Rand(1,100);ptclouda = pointcloud(temp);

应用中值滤波器并显示三点云(原始、有噪和过滤)。

ptcloudb = pcmedian(ptclouda);子图(1,3,1)pcshow(ptcloud)标题('原始数据')子图(1,3,2)PCSHOW(PTCLouda)标题('嘈杂的数据')子图(1,3,3)pcshow(PtcloudB)标题(“过滤数据”

图中包含3个轴。标题为“原始数据”的轴1包含散点类型的对象。具有标题噪声数据的轴2包含散射类型的对象。带有标题过滤数据的轴3包含散点类型的对象。

将点云数据加载到工作区中。

ptCloud=pcread('highwayscene.pcd'); 投资回报率=[0200-515];指数=findPointsInROI(ptCloud,roi);ptCloud=选择(ptCloud,索引);ptCloud=pcdownsample(ptCloud,'gridaverage',0.2);

显示点云数据。每个点基于其X坐标进行颜色编码。

图pcshow(ptcloud.location,ptcloud.location(:,1))查看(-90,2)标题('原始点云'

图包含轴。具有标题原始点云的轴包含类型分散的对象。

在间隔内沿z通道添加噪声(一种B.). 价值观一种B.选择使噪音看起来靠近地面。

temp = ptcloud.location;count = numel(temp(:,3));a = -2.5;b = -2;温度((2 * count)+ randperm(计数,200))= a +(b-a)。* rand(1,200);ptclouda = pointcloud(temp);

显示噪波点云。每个点根据其x坐标进行颜色编码。

图pcshow(ptclouda.location,ptclouda.location(:,1))查看(-90,2)标题('嘈杂的点云'

图包含轴。标题嘈杂点云的轴包含类型分散的对象。

在点云上涂上中位滤波器。

ptCloudB=pcmedian(ptCloudA,'方面'3.“半径”,1);

显示过滤后的点云。每个点根据其x坐标进行颜色编码。

图pcshow(ptcloudb.location,ptcloudb.location(:,1))查看(-90,2)标题(“过滤点云”

图包含轴。具有标题过滤点云的轴包含类型分散的对象。

输入参数

全部收缩

点云,指定为点云具有至少一个有效点的对象。如果组织输入点云,则点云的大小必须至少为3×3×3。

名称值对参数

指定可选的逗号分离对名称,价值论据。名称是参数名称和价值是对应的值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:'过滤'3.指定中位过滤器大小为3。

感兴趣的点云维度,指定为[1 3]范围内的整数向量。值1、2和3对应于X-,y-, 和Z.-轴分别。必须按升序指定尺寸。

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

组织点云的中值滤波器大小,指定为[3]范围内的奇数整数,N].N点云中的最小频道尺寸。

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

无组织云附近的半径,指定为正标量。

数据类型:单身的|双倍的

输出参数

全部收缩

过滤点云,作为一个返回点云对象

扩展能力

C / C ++代码生成
使用Matlab®编码器生成C和C++代码™.

也可以看看

功能

对象

在R2020B中介绍