2015-11-12 2 views
1

У меня есть слой изображения. Я хочу покрасить его в соответствии с моим требованием. 1. (.ply) изображения с Kinect 2. Изменение значения RGB всех точки в облакеЦвет точки Cloud-Matlab

например

.ply изображениями, где все точки в облаке должны быть в желтом или синем цвете. Я смог отобразить его с помощью команды Matlab «scatter3», но также хочу сохранить цветное облако точек как новое облако точек с помощью функции «pcwrite» от Matlab.

ответ

4

Чтобы правильно ответить на этот вопрос, я должен знать, какую версию Matlab вы используете. Если вы используете Matlab 2015a, вы должны иметь эти три функции:

  • pcread для чтения облака 3D-точек (. Файл);
  • 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' это имя, которое вы хотите присвоить файлу.