planeModel

Объект для хранения параметрической плоской модели

Описание

Создайте и сохраните параметрическую плоскость, основанную на модели на параметрах, которые описывают плоскость.

Создание

Синтаксис

model = planeModel(Parameters)

Описание

пример

model = planeModel(Parameters) создает параметрическую плоскую модель из входного вектора params 1 на 4, который описывает плоскость.

Входные параметры

развернуть все

Плоские параметры, заданные как вектор 1 на 4. Этот вход задает свойство Parameters. Эти четыре параметра [a, b, c, d] описывают уравнение для плоскости:

ax+by+cz+d=0

Свойства

развернуть все

Эти свойства только для чтения.

Плоские параметры модели, сохраненные как вектор 1 на 4. Эти параметры заданы входным параметром params.

Вектор нормали плоскости, сохраненной как 1 3 вектор. [a, b, c] вектор задает ненормированный вектор нормали плоскости.

Функции объекта

planeModel.plotПостройте плоскость в окне рисунка

Примеры

свернуть все

Загрузите облако точек.

load('object3d.mat')

Отобразите и маркируйте облако точек.

figure
pcshow(ptCloud)
xlabel('X(m)')
ylabel('Y(m)')
zlabel('Z(m)')
title('Original Point Cloud')

Установите максимальное расстояние точки к плоскости (2 см) для плоского подбора кривой.

maxDistance = 0.02;

Установите вектор нормали плоскости.

referenceVector = [0,0,1];

Установите максимальное угловое расстояние до 5 градусов.

maxAngularDistance = 5;

Обнаружьте первую плоскость, таблицу, и извлеките его от облака точек.

[model1,inlierIndices,outlierIndices] = pcfitplane(ptCloud,...
            maxDistance,referenceVector,maxAngularDistance);
plane1 = select(ptCloud,inlierIndices);
remainPtCloud = select(ptCloud,outlierIndices);

Установите видимую область ограничивать поиск второй плоскости, оставленной стену.

roi = [-inf,inf;0.4,inf;-inf,inf];
sampleIndices = findPointsInROI(remainPtCloud,roi);

Обнаружьте левую стену и извлеките ее от остающегося облака точек.

[model2,inlierIndices,outlierIndices] = pcfitplane(remainPtCloud,...
            maxDistance,'SampleIndices',sampleIndices);
plane2 = select(remainPtCloud,inlierIndices);
remainPtCloud = select(remainPtCloud,outlierIndices);

Постройте эти две плоскости и остающиеся точки.

figure
pcshow(plane1)
title('First Plane')

figure
pcshow(plane2)
title('Second Plane')

figure
pcshow(remainPtCloud)
title('Remaining Point Cloud')

Введенный в R2015b