matlab将深度图转为点云

matlab将深度图转为点云显示的代码:

intrinsic=[fx,0,cx
                0,fy,cy
                0,0,1];

fdx=intrinsic(1,1);
fdy=intrinsic(2,2);
u0=intrinsic(1,3);
v0=intrinsic(2,3);

[h,w] = size(imdepth);
u=repmat(1:w,[h,1]);
v=repmat(1:h,[w,1])';

Z=imdepth;
X=(Z(:).*(u(:)-u0))/fdx;
Y=(Z(:).*(v(:)-v0))/fdy;
 figure,pcshow([X(:),Y(:),Z(:)]);

深度图:

点云图:

猜你喜欢

转载自blog.csdn.net/u013925378/article/details/82978995