最近接觸點雲比較多,如果把圖像投影到點雲應該挺有意思。
首先需要載入圖像,然后做個球或其他什么形狀的點雲,這里可以參考球坐標公式。
最后通過pcshow將像素輸出到點雲上即可。
原圖:
投影后的點雲:
代碼如下:
clear all; close all; clc; img = imread('lena.jpg'); [m,n,d]=size(img); I=reshape(img,[],d); R=1; x=zeros(m*n,1); y=zeros(m*n,1); z=zeros(m*n,1); num = 0; %做個球。。。 for j=-pi/2:pi/n:pi/2-pi/n for i=0:2*pi/m:2*pi-2*pi/m num=num+1; x(num) = R.*cos(j).*cos(i); y(num) = R.*sin(j).*cos(i); z(num) = R.*sin(i); end end pcshow([x y z],[I I I]); %如果是彩色圖:pcshow([x y z],I);
本篇是參考matlab中pcshow例子寫的,區別是例子中沒有顯性的寫球坐標公式,其實都差不多,使用全景圖效果應該更好些。
matlab幫助文檔:
https://ww2.mathworks.cn/help/vision/ref/pcshow.html?requestedDomain=cn