MATLAB 影象投影到點雲
阿新 • • 發佈:2020-09-10
最近接觸點雲比較多,如果把影象投影到點雲應該挺有意思。
首先需要載入影象,然後做個球或其他什麼形狀的點雲,這裡可以參考球座標公式。
最後通過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例子寫的,區別是例子中沒有顯性的寫球座標公式,其實都差不多,使用全景圖效果應該更好些。