clear all;
data=ascread('bun045.asc');%动态
points = data{2};
points=double(points);
[m k]=size(points);
P=zeros(3,1);
Q=zeros(3,1);
%点云重心
for i=1:3
for j=1:m
P(i)=points(j,i)+P(i);
end
end
P=P/m;
%产生噪音
Noise = normrnd(0,0.1,m,2);
%噪音移动到点云的位置处
for i=1:2
for j=1:m
Noise(j,i)=Noise(j,i)+P(i);
end
end%
Noise=[Noise,points(:,3)];
pc=[points;Noise];
%可视化加噪音后的点云
% pcshow(pc)
% ax = pcshow();
%保存点云
[m, k]=size(pc);
fid = fopen('bun045.txt','wt');%此时的静态点云已经是去重心平移后的点云
for i=1:m
for k=1:3
fprintf(fid,'%g ',pc(i,k));
end
fprintf(fid, '\n');
% fprintf(fid,' %g %g %g\n',80, 167, 73); % 动态点云存点为绿色
end
fclose(fid);