看板 MATLAB 關於我們 聯絡資訊
各位前輩午安: 目前我在使用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)
abc01251:加顏色 好像就會很慢~~ 所以我改用C來畫圖 比較快 03/29 02:34
mp19990920:樓上:有可能是你寫的matlab程式太不matlab了, 03/29 18:06
mp19990920:我的CPU是Intel Pentium(M)715 1.5GHz + DDR2 768MB 03/29 18:08
mp19990920:都沒這樣的問題 03/29 18:08
mp19990920:原PO您可以把您的程式貼上來,讓大家幫你想想如何加速 03/29 18:09
gibletnoodle:謝謝兩位!等等我改一下文章把程式碼貼上 03/29 21:40
※ 編輯: gibletnoodle 來自: 140.112.175.37 (03/29 22:42)
abc01251:for i=1:size(data,1) 03/30 15:22
abc01251:plot3(data(i,1),data(i,2),data(i,3),'.','color', 03/30 15:24
abc01251:,color(i,:)); 03/30 15:24
abc01251:end 03/30 15:24
abc01251:因為每個點顏色都不一樣~ 所以我都分開畫 但是會超慢 03/30 15:26
mp19990920:可以不用for迴圈,plot3(data(:,1),data(:,2),data(:,3 03/30 23:08
mp19990920:), '.', 'color', color) 03/30 23:09
mp19990920:如有錯誤請參考help說明,matlab的function幾乎都可以 03/30 23:09
mp19990920:輸入matrix,所以很多時候是不需用迴圈的 03/30 23:10