降采样 matlab,【Matlab Computer Vision System ToolBox】学习笔记-3 -点云配准 | 噪音去除 | 降采样...

1. Hide and Show 3-D Point Cloud Figure - 显示和隐藏3D图

player=pcplayer(ptCloud.XLimits,ptCloud.YLimits,ptCloud.ZLimits);

创建显示坐标系

>> hide(player) // 隐藏

>> show(player) // 显示

>> view(player,ptCloud); // 显示点云

点云显示也可用 pcshow(ptCloud).

2. Align Two Point Clouds -点云匹配

首先读入点云 teapot.ply , 然后创建旋转及平移矩阵 A ,使用函数 pctrandform 变换点云。 点云匹配采用函数 pcregrigid ,求出匹配成功后的矩阵。

A=[cos(pi/6) sin(pi/6) 0 0; -sin(pi/6) cos(pi/6) 0 0; 0 0 1 0; 5 5 10 1];

tform1=affine3d(A);

ptCloudTformed=pctransform(ptCloud,tform1);

figure

pcshow(ptCloudTformed);

title('Transformed Teapot');

tform=pcregrigid(ptCloudTformed,ptCloud,'Extrapolate',true); //求点云匹配矩阵

disp(tform1.T);

tform2=invert(tform);

disp(tform2.T);

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

可以发现矩阵完全一致,匹配正确。

3. Merge Two Identical Point Clouds Using Box Grid Filter -用网格滤波合并两个点云

>> ptCloudA=pointCloud(100*rand(1000,3));

>> ptCloudB=copy(ptCloudA);

>> ptCloudC=pcmerge(ptCloudA,ptCloudB,1);

>> pcshow(ptCloudC);

0818b9ca8b590ca3270a3433284dd417.png

4. Remove Outliers from Noisy Point Cloud -从点云中除去离群值

gv=0:0.01:1;

[X,Y]=meshgrid(gv,gv);

ptCloud=pointCloud([X( : ),Y( : ),0.5*ones(numel(X),1)]); //创建点云平面

figure

pcshow(ptCloud);

title('Original Data');

noise=rand(500,3);

ptCloudA=pointCloud([ptCloud.Location;noise]); //生成随机噪音点

figure

pcshow(ptCloudA);

title('Noisy Data');

% Remove outliers

ptCloudB=pcdenoise(ptCloudA); //除去离群值

figure

pcshow(ptCloudB);

title('Denoised Data');

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

5. Downsample Point Cloud Using Box Grid Filter -用格子滤波进行降采样

ptCloud=pcread('teapot.ply');

gridStep=0.1;

ptCloudA=pcdownsample(ptCloud,'gridAverage',gridStep); //box grid filter 降采样

figure;

pcshow(ptCloud);

figure;

pcshow(ptCloudA);

stepSize=floor(ptCloud.Count/ptCloudA.Count); //固定步长降采样

indices=1:stepSize:ptCloud.Count;

ptCloudB=select(ptCloud,indices);

figure;

pcshow(ptCloudB);

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值