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(:)]);

深度图:

matlab将深度图转为点云_第1张图片

点云图:

matlab将深度图转为点云_第2张图片

 

你可能感兴趣的:(matlab,图像处理)