作者gibletnoodle (再蠢一点)
看板MATLAB
标题[讨论] 3D point cloud Plot (plot3/scatter3)
时间Wed Mar 28 12:32:14 2012
各位前辈午安:
目前我在使用range image device
可以量测空间中的3D点座标
譬如说在range image上的一个pixel对应到3D座标上的值是(x,y,z)=(1,2,3)
如果我用plot3 or scatter指令去画会相当耗时
此外如果及时变动视角会相当缓慢,想请问有无比较好的解决方法?
另外我尝试将这些空间上的点标在一个3维矩阵size=(300,400,1000)
这些点有特定的强度值
因此想请问是否有能够直接plot 3维矩阵的座标,依照这些点的强度自订颜色?
谢谢!
-------------------------Code------------------------
前处理是把档案读成一个矩阵out
size(out)=67384*8 表示67384笔资料,格式为:X,Y,Z,R,G,B,row,col
X,Y,Z为此点的座标,RGB代表此点的颜色
row,col代表他在原本range image上的影像座标点
其实绘图的code只有两行..
pointsize=ones(PointCloudNumber,1)*5;
scatter3(out(:,1),-out(:,2),out(:,3),pointsize,out(:,4:6)./255,'filled'),
view(-60,60);
-------------------------------------------------------
plot3的效果也差不多
先谢谢a大&m大了!
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.253.171
※ 编辑: gibletnoodle 来自: 140.112.253.171 (03/28 12:33)
1F:推 abc01251:加颜色 好像就会很慢~~ 所以我改用C来画图 比较快 03/29 02:34
2F:→ mp19990920:楼上:有可能是你写的matlab程式太不matlab了, 03/29 18:06
3F:→ mp19990920:我的CPU是Intel Pentium(M)715 1.5GHz + DDR2 768MB 03/29 18:08
4F:→ mp19990920:都没这样的问题 03/29 18:08
5F:→ mp19990920:原PO您可以把您的程式贴上来,让大家帮你想想如何加速 03/29 18:09
6F:→ gibletnoodle:谢谢两位!等等我改一下文章把程式码贴上 03/29 21:40
※ 编辑: gibletnoodle 来自: 140.112.175.37 (03/29 22:42)
7F:推 abc01251:for i=1:size(data,1) 03/30 15:22
8F:→ abc01251:plot3(data(i,1),data(i,2),data(i,3),'.','color', 03/30 15:24
9F:→ abc01251:,color(i,:)); 03/30 15:24
10F:→ abc01251:end 03/30 15:24
11F:→ abc01251:因为每个点颜色都不一样~ 所以我都分开画 但是会超慢 03/30 15:26
12F:→ mp19990920:可以不用for回圈,plot3(data(:,1),data(:,2),data(:,3 03/30 23:08
13F:→ mp19990920:), '.', 'color', color) 03/30 23:09
14F:→ mp19990920:如有错误请参考help说明,matlab的function几乎都可以 03/30 23:09
15F:→ mp19990920:输入matrix,所以很多时候是不需用回圈的 03/30 23:10