1. 程式人生 > 實用技巧 >MATLAB 影象投影到點雲

MATLAB 影象投影到點雲

最近接觸點雲比較多,如果把影象投影到點雲應該挺有意思。

首先需要載入影象,然後做個球或其他什麼形狀的點雲,這裡可以參考球座標公式。

最後通過pcshow將畫素輸出到點雲上即可。

原圖:

投影后的點雲:

程式碼如下:

 1 clear all;
 2 close all;
 3 clc;
 4 
 5 img = imread('lena.jpg');
 6 
 7 [m,n,d]=size(img);
 8 I=reshape(img,[],d);   
 9 
10 R=1;
11 x=zeros(m*n,1);
12 y=zeros(m*n,1);
13 z=zeros(m*n,1);
14 num = 0; 15 16 %做個球。。。 17 for j=-pi/2:pi/n:pi/2-pi/n 18 for i=0:2*pi/m:2*pi-2*pi/m 19 20 num=num+1; 21 x(num) = R.*cos(j).*cos(i); 22 y(num) = R.*sin(j).*cos(i); 23 z(num) = R.*sin(i); 24 25 end 26 end 27 28 pcshow([x y z],[I I I]); %如果是彩色圖:pcshow([x y z],I);

本篇是參考matlab中pcshow例子寫的,區別是例子中沒有顯性的寫球座標公式,其實都差不多,使用全景圖效果應該更好些。