2015-11-12 172 views
1

我有一個圖像。我想根據我的要求給它着色。 1.(.ply)從超高動力學 2.更改所有點的雲顏色點雲 - Matlab

e.g

.ply圖像的RGB值,其中在雲中的所有點都在黃色或藍色的彩色圖像。 我已經能夠使用Matlab命令「scatter3」顯示它,但也想通過Matlab的「pcwrite」函數將彩色點雲保存爲新的點雲。

回答

4

要正確回答這個問題,我應該知道你使用的是哪個版本的Matlab。如果你正在使用Matlab 2015a,你應該有這三個功能

  • pcread讀取3D點雲(.ply文件);
  • pcshow顯示3D點雲;
  • pcwrite寫一個.ply文件。

假設您的圖像被稱爲「airplane.ply」。 要正確使用您第一次使用讀取圖像:

ptCloud = pcread('airplane.ply') 

,那麼你會發現,ptCloud有不同的領域。其中一個關於顏色,是你必須改變的。爲此,您必須爲雲中的每個點指定顏色。所以:

pointscolor=uint8(zeros(ptCloud.Count,3)); 
pointscolor(:,1)=255; 
pointscolor(:,2)=255; 
pointscolor(:,3)=51; 

因爲[255 255 51]是黃色。 然後將此矩陣分配給ptCloud.Color。

ptCloud.Color=pointscolor; 

看到的結果是:

pcshow(ptCloud) 

並保存文件:

pcwrite(ptCloud,'ptCloud.ply') 

其中 'ptCloud.ply' 是你要分配給該文件的名稱。