MATLAB 给点云添加高斯噪声,随机噪声

原理不讲,直接上代码,亲测绝对可用。

clc;
clear;

% 加载点云
ptCloud = pcread('12.ply');
a=ptCloud.Location;
m=max(a);
n=min(a);
%m=[124 114 -61];%也可以自定义噪声填充范围
%n=[-47 -40 -124];
%这里也可以自定义噪声的填充范围
% 可视化原始点云
figure;
pcshow(ptCloud);
title('原始点云');
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
hold on;

% 添加高斯噪声
mu = 0;         % 均值
sigma = 0.5;    % 标准差
noise = normrnd(mu,sigma,[10000000, 3]);  % 100000个高斯噪声点
ptCloud_N = pointCloud([ptCloud.Location; noise]);  % 原始点云添加高斯噪声

%add random noise 
ss = n+(m-n).*rand(10000,3);%10000个噪声点
ptCloud_R = pointCloud([a;ss]);

% 可视化添加高斯噪声的点云
figure
pcshow(ptCloud_R);
title('添加随机噪声后的点云');
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
hold on;

%可视化添加随机噪声的点云
figure
pcshow(ptCloud_N);
title('添加高斯噪声后的点云');
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
hold on;

% 保存添加高斯噪声的点云
pcwrite(ptCloud_R,'12_R.ply','Encoding','binary');            %保存为binary形式的PLY点云
pcwrite(ptCloud_N,'12_N.ply','Encoding','binary');
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值