MATLAB点云处理函数整理

pcbin_空间bin点云点

bins = pcbin(ptCloud,numBins)
bins =pcbin(ptCloud,numBins,spatialLimits)
[bins,binLocations] = pcbin()

pcdenoise_去噪

ptCloudOut = pcdenoise(ptCloudIn)
[ptCloudOut,inlierIndices,outlierIndices] = pcdenoise(ptCloudIn)
[ptCloudOut,___] = pcdenoise(___Name,Value)

pcdownsample_降采样

ptCloudOut = pcdownsample(ptCloudIn,‘random’,percentage)
ptCloudOut = pcdownsample(ptCloudIn,‘gridAverage’,gridStep)
ptCloudOut = pcdownsample(ptCloudIn,‘nonuniformGridSample’,maxNumPoints)

pcnormals_估计点云的法线

normals = pcnormals(ptCloud)
normals = pcnormals(ptCloud,k)

pcmerge_合并点云

ptCloudOut = pcmerge(ptCloudA,ptCloudB,gridStep)

pcsegdist_基于欧几里得距离将点云分割成群组

labels = pcsegdist(ptCloud,minDistance)
[labels,numClusters] = pcsegdist(ptCloud,minDistance)

segmentLidarData_将有组织的3-D范围数据分割为聚类

labels = segmentLidarData(ptCloud,distThreshold)
labels = segmentLidarData(ptCloud,distThreshold,angleThreshold)
[labels,numClusters] = segmentLidarData(___)

segmentGroundFromLidarData_从组织的激光雷达数据中分割地面点

groundPtsIdx = segmentGroundFromLidarData(ptCloud)
groundPtsIdx = segmentGroundFromLidarData(ptCloud,Name,Value)

findNearestNeighbors_在点云中查找点的最近邻居

[indices,dists] = findNearestNeighbors(ptCloud,point,K)
[indices,dists] = findNearestNeighbors(ptCloud,point,K,camMatrix)
[indices,dists] = findNearestNeighbors(___,Name,Value)

findNeighborslnRadius_在点云中找到点半径内的邻居

[indices,dists] = findNeighborsInRadius(ptCloud,point,radius)
[indices,dists] = findNeighborsInRadius(ptCloud,point,radius,camMatrix)
[indices,dists] = findNeighborsInRadius(___,Name,Value)

findPointsROI_在点云中查找感兴趣区域内的点

indices = findPointsInROI(ptCloud,roi)
indices = findpointsInROI(ptCloud,roi,camMatrix)

removeInvalidPoints_从点云中删除无效点

[ptCloudOut,indices] = removeInvalidPoints(ptCloud)

createPoseGraph_创建姿势图

G = createPoseGraph(vSet)

optimizePoses_使用相对姿态约束优化绝对姿态

vSetOptim = optimizePoses(vSet)
vSetOptim = optimizePoses(vSet,Name,Value)

pctransform_变换3D点云

ptCloudOut = pctransform(ptCloudIn,tform)
ptCloudOut = pctransform(ptCloudIn,D)

Pcregistericp_使用ICP算法配准两点云

tform = pcregistericp(moving,fixed)
[tform,movingReg] = pcregistericp(moving,fixed)
[___,rmse] = pcregistericp(moving,fixed)
[___] = pcregistericp(moving,fixed,Name,Value)

Pcregistercpd_使用CPD算法配准两点云

tform = pcregistercpd(moving,fixed)
[tform,movingReg] = pcregistercpd(moving,fixed)
[___,rmse] = pcregistercpd(moving,fixed)
[___] = pcregistercpd(moving,fixed,Name,Value)

Pcregisterndt_使用NDT算法配准两点云

tform = pcregisterndt(moving,fixed,gridStep)
[tform,movingReg] = pcregisterndt(moving,fixed,gridStep)
[___,rmse] = pcregisterndt(moving,fixed,gridStep)
[___] = pcregisterndt(moving,fixed,gridStep,Name,Value)

Rigid3d_3-D刚性几何变换

tform = rigid3d
tform = rigid3d(t)
tform = rigid3d(rot,trans)

pcfitcylinder_使圆柱适合3D点云

model = pcfitcylinder(ptCloudIn,maxDistance)
model = pcfitcylinder(ptCloudIn,maxDistance,referenceVector)
model = pcfitcylinder(ptCloudIn,maxDistance,referenceVector,maxAngularDistance)
[model,inlierIndices,outlierIndices] = pcfitcylinder(ptCloudIn,maxDistance)
[___,meanError] = pcfitcylinder(ptCloudIn,maxDistance)
[___] = pcfitcylinder(___,Name,Value)

Pcfitplane_使平面适合3D点云

model = pcfitplane(ptCloudIn,maxDistance)
model = pcfitplane(ptCloudIn,maxDistance,referenceVector)
model = pcfitplane(ptCloudIn,maxDistance,referenceVector,maxAngularDistance)
[model,inlierIndices,outlierIndices] = pcfitplane(ptCloudIn,maxDistance)
[___,meanError] = pcfitplane(ptCloudIn,maxDistance)
[___] = pcfitplane(ptCloudIn,maxDistance,Name,Value)

pcfitsphere_使球体适合3D点云

model = pcfitsphere(ptCloudIn,maxDistance)
[model,inlierIndices,outlierIndices] = pcfitsphere(ptCloudIn,maxDistance)
[___,meanError] = pcfitsphere(ptCloudIn,maxDistance)
[___] = pcfitsphere(___,Name,Value)

fitPolynomialRANSAC_使用RANSAC将多项式拟合为点

P = fitPolynomialRANSAC(xyPoints,N,maxDistance)
[P,inlierIdx] = fitPolynomialRANSAC(___)
[___] = fitPolynomialRANSAC(___,Name,Value)

Ransac_使模型适合嘈杂的数据

[model,inlierIdx] = ransac(data,fitFcn,distFcn,sampleSize,maxDistance)
[___] = ransac(___,Name,Value)

cylinderModel class_用于存储参数圆柱模型的对象

model = cylinderModel(params)

planeModel_用于存储参数平面模型的对象

model = planeModel(Parameters)

sphereModel class_用于存储参数球模型的对象

model = sphereModel(params)

Pcread_从PLY或PCD文件读取3-D点云

ptCloud = pcread(filename)

Pcwrite_将3-D点云写入PLY或PCD文件

pcwrite(ptCloud,filename)
pcwrite(ptCloud,filename,‘Encoding’,encodingType)

Pcfromkinect_Windows版Kinect的点云

ptCloud = pcfromkinect(depthDevice,depthImage)
ptCloud = pcfromkinect(depthDevice,depthImage,colorImage)
ptCloud = pcfromkinect(depthDevice,depthImage,colorImage,alignment)

velodyneFileReader_从Velodyne PCAP文件读取点云数据

veloReader = velodyneFileReader(fileName,deviceModel)
veloReader = velodyneFileReader(fileName,deviceModel,‘CalibrationFile’,calibFile)

Pcshow_绘制3-D点云

pcshow(ptCloud)
pcshow(xyzPoints)
pcshow(xyzPoints,color)
pcshow(xyzPoints,colorMap)
pcshow(filename)
pcshow(___,Name,Value)
ax = pcshow(___)

Pcshowpair_可视化两点云之间的差异

pcshowpair(ptCloudA,ptCloudB)
pcshowpair(ptCloudA,ptCloudB,Name,Value)
ax = pcshowpair(___)

Pcplayer_可视化流式3-D点云数据

player = pcplayer(xlimits,ylimits,zlimits)
player = pcplayer(xlimits,ylimits,zlimits,Name,Value)

Pcviewset_管理基于点云的视觉里程表和SLAM的数据

vSet = pcviewset

pointCloud_ 用于存储3-D点云的对象

ptCloud = pointCloud(xyzPoints)
ptCloud = pointCloud(xyzPoints,Name,Value)

猜你喜欢

转载自blog.csdn.net/qq_27353621/article/details/127284957
今日推荐