Main Content

projective2d

(권장되지 않음) 후위곱 규칙을 사용하는 2차원 사영 기하 변환

projective2d는 권장되지 않습니다. 대신 projtform2d 객체를 사용하십시오. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

설명

projective2d 객체는 2차원 사영 기하 변환을 캡슐화합니다.

생성

다음 방법을 사용하여 projective2d 객체를 만들 수 있습니다.

  • fitgeotrans — 두 영상 간에 제어점 쌍을 매핑하는 기하 변환을 추정

  • 여기에서 다루는 projective2d 함수

설명

tform = projective2d는 항등 변환에 해당하는 디폴트 속성 설정을 사용하여 projective2d 객체를 만듭니다.

예제

tform = projective2d(A)는 속성 T를 지정된 2차원 사영 변환 행렬 t로 설정합니다.

속성

모두 확장

순방향 2차원 사영 변환으로, 3×3 숫자형 정칙 행렬로 지정됩니다. 행렬 T는 다음과 같은 규칙을 사용합니다.

[x y 1] = [u v 1] * T

T는 다음과 같은 형태를 갖습니다.

[a b c; ...
 d e f; ...
 g h i];

T의 디폴트 값은 항등 변환입니다.

데이터형: double | single

읽기 전용 속성입니다.

입력 점과 출력 점에 대한 기하 변환의 차원 수로, 값 2로 지정됩니다.

객체 함수

invert역 기하 변환
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardApply forward geometric transformation
transformPointsInverseApply inverse geometric transformation

예제

모두 축소

회전과 틸트를 변환 행렬 tm에 결합합니다. 이 변환 행렬을 사용하여 projective2d 기하 변환 객체인 tform을 만듭니다.

theta = 10;
tm = [cosd(theta) -sind(theta) 0.001; ...
      sind(theta) cosd(theta) 0.01; ...
      0 0 1];
tform = projective2d(tm)
tform = 
  projective2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

T 속성값을 검토합니다.

tform.T
ans = 3×3

    0.9848   -0.1736    0.0010
    0.1736    0.9848    0.0100
         0         0    1.0000

확장 기능

버전 내역

R2013a에 개발됨

모두 확장

R2022b: 권장되지 않음

R2022b부터 대부분의 Image Processing Toolbox™ 함수는 전위곱 규칙을 사용하여 기하 변환을 만들고 수행합니다. 따라서 후위곱 규칙을 사용하는 projective2d 객체는 권장되지 않습니다. 현재로서는 projective2d 객체를 제거할 계획이 없지만 전위곱 규칙을 지원하는 projtform2d 객체로 전환하여 기하 변환 워크플로를 간소화할 수 있습니다. 자세한 내용은 Migrate Geometric Transformations to Premultiply Convention 항목을 참조하십시오.

코드를 업데이트하려면 다음을 수행하십시오.

  • 함수 이름 projective2dprojtform2d로 변경합니다.

  • 변환 행렬을 행렬 T의 전치로 지정합니다. 여기서 Tprojective2d 객체의 T 속성값 또는 projective2d 객체를 만드는 데 사용되는 변환 행렬입니다.

권장되지 않는 사용법권장되는 대체 방법

이 예제에서는 후위곱 규칙의 변환 행렬 T에서 projective2d 객체를 만듭니다.

T = [2 0.33 0; 0 1 0; 5 10 1];
tformPost = projective2d(T);

이 예제에서는 변환 행렬 T의 전치에서 projtform2d 객체를 만듭니다.

T = [2 0.33 0; 0 1 0; 5 10 1];
A = T';
tform = projtform2d(A);

이 예제에서는 tformPost라는 projective2d 객체로 시작하여 tformPostT 속성의 전치에서 projtform2d 객체를 만듭니다.

T = tformPost.T;
tform = projtform2d(T');