我需要找到适合一组3D点的平面的RMS(均方根)误差。我正在使用pcfitplane函数,但我得到了一个索引数组。
我的代码:
% Create the point cloud object
% XYZ is a N by 3 matrix containing the points
ptCloud = pointCloud(XYZ);
[~,rmse] = pcfitplane(ptCloud,maxDistance);
% rmse is a 1 by N array, and the values are also from 1 to N!
我在这里失踪了什么?如何正确获取RMS错误?
答案 0 :(得分:1)
您没有正确解释docs。以下是原型的显示方式:
[model,inlierIndices,outlierIndices] = pcfitplane(ptCloudIn,maxDistance)
[___,rmse] = pcfitplane(ptCloudIn,maxDistance)
[___] = pcfitplane(ptCloudIn,maxDistance,Name,Value)
长三重下划线表示"上面显示的sytax中的所有输出参数",而不是"一个参数"。正如您所注意到的那样,您正在获得inlierIndices
。你正试图做这样的事情:
[~,~,~,rmse] = pcfitplane(ptCloud,maxDistance);
三个波浪线是长下划线。它们代表model,inlierIndices,outlierIndices
。希望能帮助你完成未来的文档。