주요 콘텐츠

planeModel

파라미터 평면 모델을 저장하기 위한 객체

설명

평면을 설명하는 파라미터를 기반으로 파라미터 평면 모델을 생성하고 저장합니다.

생성

설명

model = planeModel(parameters)는 평면을 설명하는 1×4 Parameters 입력 벡터로부터 파라미터 평면 모델을 생성합니다.

예제

입력 인수

모두 확장

평면 파라미터로, 1×4 벡터로 지정됩니다. 이 입력값은 Parameters 속성을 지정합니다. 4개의 파라미터 [a,b,c,d]는 평면의 방정식을 나타냅니다.

ax+by+cz+d=0

속성

모두 확장

이러한 속성은 읽기 전용입니다.

평면 모델 파라미터로, 1×4 벡터로 저장됩니다. 이러한 파라미터는 파라미터 입력 인수로 지정됩니다.

평면의 법선 벡터로, 1×3 벡터로 저장됩니다. [a,b,c] 벡터는 평면의 정규화되지 않은 법선 벡터를 지정합니다.

객체 함수

plotPlot parametric model
normalRotationCompute transform for rotation of normal to plane

예제

모두 축소

포인트 클라우드를 불러옵니다.

load("object3d.mat")

포인트 클라우드를 표시하고 Figure에 레이블을 지정합니다.

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

평면 피팅에 사용할 최대 점-평면 거리(2cm)를 설정합니다.

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에 개발됨