planeModel

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

Описание

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

Создание

Описание

пример

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

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

расширить все

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

ax+by+cz+d=0

Свойства

расширить все

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

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

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

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

plotПостройте плоскость в окне рисунка
normalRotationВычисление преобразования для поворота нормали к плоскости

Примеры

свернуть все

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

load('object3d.mat')

Отобразите и пометьте облако точек.

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

Figure contains an axes. The axes with title Original Point Cloud contains an object of type scatter.

Установите максимальное расстояние между точками и плоскостями (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 contains an axes. The axes with title First Plane contains an object of type scatter.

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

Figure contains an axes. The axes with title Second Plane contains an object of type scatter.

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

Figure contains an axes. The axes with title Remaining Point Cloud contains an object of type scatter.

Введенный в R2015b