如何用matlab读取三维点云数据,麻烦大神能写出具体的代码 20
3个回答
展开全部
看是什么数据格式,有的可以直接load
比如这样的数据文件:
38.643 52.888 0.08600065
38.643 52.844 0.08600065
38.643 52.486 0.1420001
38.639 52.881 0.08600065
38.638 53.194 0.1860005
38.634 53.303 0.1070006
38.631 52.186 0.07900037
38.631 52.167 0.07900037
38.626 53.586 0.09600026
38.624 52.495 0.6620004
A = load('cloud3d.dat'); %读入数据
%x,y,z轴坐标
x=A(:,1);
y=A(:,2);
z=A(:,3);
scatter3(x,y,z); %散点图
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4'); %构造坐标点
pcolor(X,Y,Z);
shading interp; %伪彩色图
fcontourf(X,Y,Z); %等高线图
figure,surf(X,Y,Z); %三维曲面
比如这样的数据文件:
38.643 52.888 0.08600065
38.643 52.844 0.08600065
38.643 52.486 0.1420001
38.639 52.881 0.08600065
38.638 53.194 0.1860005
38.634 53.303 0.1070006
38.631 52.186 0.07900037
38.631 52.167 0.07900037
38.626 53.586 0.09600026
38.624 52.495 0.6620004
A = load('cloud3d.dat'); %读入数据
%x,y,z轴坐标
x=A(:,1);
y=A(:,2);
z=A(:,3);
scatter3(x,y,z); %散点图
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4'); %构造坐标点
pcolor(X,Y,Z);
shading interp; %伪彩色图
fcontourf(X,Y,Z); %等高线图
figure,surf(X,Y,Z); %三维曲面
追问
obj格式或者ply格式的
展开全部
关键看你数据存储的格式 如果是规整的数据 使用类似importdata直接可视读取,txt可使用textread,excel可以使用xlsread,复杂的可以自己使用fopen读取,fscanf之类解析
追问
obj格式或者ply格式的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-02-28
展开全部
不知道你要的是不是这种的pcread?
ptCloud = pcread('Test.pcd');%或者obj、ply都可以直接读取
figure
pcshow(ptCloud);%用于显示
ptCloud = pcread('Test.pcd');%或者obj、ply都可以直接读取
figure
pcshow(ptCloud);%用于显示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询