[討論] 3D point cloud Plot (plot3/scatter3)

看板MATLAB作者 (再蠢一點)時間14年前 (2012/03/28 12:32), 編輯推噓2(2013)
留言15則, 3人參與, 最新討論串1/1
各位前輩午安: 目前我在使用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)

03/29 02:34, , 1F
加顏色 好像就會很慢~~ 所以我改用C來畫圖 比較快
03/29 02:34, 1F

03/29 18:06, , 2F
樓上:有可能是你寫的matlab程式太不matlab了,
03/29 18:06, 2F

03/29 18:08, , 3F
我的CPU是Intel Pentium(M)715 1.5GHz + DDR2 768MB
03/29 18:08, 3F

03/29 18:08, , 4F
都沒這樣的問題
03/29 18:08, 4F

03/29 18:09, , 5F
原PO您可以把您的程式貼上來,讓大家幫你想想如何加速
03/29 18:09, 5F

03/29 21:40, , 6F
謝謝兩位!等等我改一下文章把程式碼貼上
03/29 21:40, 6F
※ 編輯: gibletnoodle 來自: 140.112.175.37 (03/29 22:42)

03/30 15:22, , 7F
for i=1:size(data,1)
03/30 15:22, 7F

03/30 15:24, , 8F
plot3(data(i,1),data(i,2),data(i,3),'.','color',
03/30 15:24, 8F

03/30 15:24, , 9F
,color(i,:));
03/30 15:24, 9F

03/30 15:24, , 10F
end
03/30 15:24, 10F

03/30 15:26, , 11F
因為每個點顏色都不一樣~ 所以我都分開畫 但是會超慢
03/30 15:26, 11F

03/30 23:08, , 12F
可以不用for迴圈,plot3(data(:,1),data(:,2),data(:,3
03/30 23:08, 12F

03/30 23:09, , 13F
), '.', 'color', color)
03/30 23:09, 13F

03/30 23:09, , 14F
如有錯誤請參考help說明,matlab的function幾乎都可以
03/30 23:09, 14F

03/30 23:10, , 15F
輸入matrix,所以很多時候是不需用迴圈的
03/30 23:10, 15F
文章代碼(AID): #1FSfHG-c (MATLAB)
文章代碼(AID): #1FSfHG-c (MATLAB)