matlab练习程序(图像投影到点云)


最近接触点云比较多,如果把图像投影到点云应该挺有意思。

首先需要载入图像,然后做个球或其他什么形状的点云,这里可以参考球坐标公式。

最后通过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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM