文档帮助中心文档
变换三维点云
ptCloudOut=pctransform(ptCloudIn,tform)
ptCloudOut = pctransform (ptCloudIn, D)
例子
ptCloudOut= pctransform (ptCloudIn,tform)应用指定的三维仿射变换,tform到点云,ptCloudIn.转换可以是刚性转换或非刚性转换。
ptCloudOut= pctransform (ptCloudIn,tform)
ptCloudOut
ptCloudIn
tform
ptCloudOut= pctransform (ptCloudIn,D)应用位移场D到点云。使用位移场的点云变换定义了相对于点云中每个点的平移。
ptCloudOut= pctransform (ptCloudIn,D)
D
全部折叠
读点云。
ptCloud=pcread(“teapot.ply”);
绘制点云。
图pcshow (ptCloud)包含(“X”)伊拉贝尔(“是的”) zlabel (“Z”)
创建沿z轴旋转45度的变换对象。
θ=π/ 4;Rot = [cos sin 0;…-sin(θ)cos(θ)0;…0 0 1);Trans = [0,0,0];tform = rigid3d(腐烂,反式);
转换点云。
ptCloudOut = pctransform (ptCloud tform);
绘制转换后的点云。
图pcshow(ptCloudOut)xlabel(“X”)伊拉贝尔(“是的”) zlabel (“Z”)
此示例显示三维点云的仿射变换。指定的正向变换可以是刚性变换或非刚性变换。显示的变换包括输入点云的旋转(刚性变换)和剪切(非刚性变换)。
将点云读入工作区。
3-D点云旋转
创建一个仿射变换对象,该对象定义沿曲面旋转45度z设在。
A = [cos(/4) sin(/4) 0 0;…sin(/4) cos(/4) 0 0;…0 0 1 0;…0 1];tform=affine3d(A);
ptCloudOut1=pctransform(ptCloud,tform);
三维点云的剪切
创建一个仿射变换对象,它定义沿着x设在。
A = [1 0 0 0;…0.75 1 0 0;…0.75 0 1 0;…0 1];tform=affine3d(A);
ptCloudOut2 = pctransform (ptCloud tform);
显示原始和仿射变换的三维点云
绘制原始的三维点云。
图1=图(“WindowState”,“正常”);axes1 =轴(“家长”,图1);pcshow(云端),“家长”, axes1);包含(“X”);ylabel (“是的”);zlabel (“Z”);头衔(三维点云的,“字形大小”14)
%绘制旋转和剪切仿射变换的三维点云。图2=图(“WindowState”,“正常”);axes2 =轴(“家长”, figure2);pcshow (ptCloudOut1“家长”, axes2);包含(“X”);ylabel (“是的”);zlabel (“Z”); 头衔({“三维点云的旋转”},“字形大小”14)
图3 =图(“WindowState”,“正常”);轴3=轴(“家长”,图3);pcshow(ptCloudOut2,“家长”,axes3);xlabel(“X”);ylabel (“是的”);zlabel (“Z”); 头衔({“三维点云剪切”},“字形大小”14)
创建一个位移场D与点云的大小相同。
D = 0(大小(ptCloud.Location));
沿着设置位移字段值x-轴的上半部分为7点。
pthalf = ptCloud.Count / 2;D (1: pthalf, 1) = 7;
使用点云方法findNeighborsInRadius.沿。设置位移字段值x-,y- - - - - -,z-轴表示ROI内的点,分别为4、4和-2。
点云
findNeighborsInRadius
index = findNeighborsInRadius(ptCloud,[0 0 3.1],1.5);D(指标,1:2)= 4;D(下标3)= 2;
使用位移场转换点云。
ptCloudOut = pctransform (ptCloud D);
显示原始和转换的点云。
图pcshow (ptCloud)包含(“X”);ylabel (“是的”);zlabel (“Z”);头衔(“原始3d点云”)
图pcshow(ptCloudOut)xlabel(“X”);ylabel (“是的”);zlabel (“Z”);头衔(“使用位移场转换的三维点云”)
点云,指定为点云对象。
rigid3d
affine3d
三维几何变换,指定为rigid3d对象或一个affine3d对象。看到定义变换矩阵有关如何设置仿射3d的细节tform输入。
位移字段,指定为米-B-3或A米-借-N-by-3数组。位移场是一组位移向量,用于指定点云中每个点的平移幅度和方向。位移场的大小必须与点云的大小相同位置财产点云对象。
位置
数据类型:单|双
单
双
变换点云,返回为点云对象。转换适用于点的坐标及其法向量。
planeModel
pcplayer
pcshow
pcwrite
pcread
pcmerge
pcdownsample
pcfitplane
去噪
pcregistericp
pccat
pcalign
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系