이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

affine2d

2차원 아핀 기하 변환

설명

affine2d 객체는 2차원 아핀 기하 변환을 캡슐화합니다.

생성

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

  • imregtform — 유사도 최적화를 사용하여 이동 영상을 고정 영상에 매핑하는 기하 변환을 추정합니다.

  • imregcorr — 위상 상관을 사용하여 이동 영상을 고정 영상에 매핑하는 기하 변환을 추정합니다.

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

  • 여기에서 다루는 affine2d 함수

설명

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

예제

tform = affine2d(A)는 정칙 행렬 A로 정의되는 유효한 아핀 변환을 사용하여 속성 T를 설정합니다.

속성

모두 확장

순방향 2차원 아핀 변환으로, 3x3 숫자형 정칙 행렬로 지정됩니다.

행렬 T는 다음과 같은 규칙을 사용합니다.

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

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

 [a b 0;
  c d 0;
  e f 1];

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

데이터형: double | single

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

객체 함수

invertInvert geometric transformation
isRigidDetermine if transformation is rigid transformation
isSimilarityDetermine if transformation is similarity transformation
isTranslationDetermine if transformation is pure translation
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardApply forward geometric transformation
transformPointsInverseApply inverse geometric transformation

예제

모두 축소

원점을 중심으로 시계 반대 방향으로의 30도 회전을 정의하는 affine2d 객체를 만듭니다.

theta = 30;
tform = affine2d([cosd(theta) sind(theta) 0;...
    -sind(theta) cosd(theta) 0; 0 0 1])
tform = 
  affine2d with properties:

    Dimensionality: 2
                 T: [3x3 double]

점 (10,0)에 순방향 기하 변환을 적용합니다.

[x,y] = transformPointsForward(tform,10,0)
x = 8.6603
y = 5

원래 점은 파란색으로, 변환된 점은 빨간색으로 플로팅하여 변환된 결과를 확인합니다.

figure
plot(10,0,'bo',x,y,'ro')
axis([0 12 0 12]); axis square;

영상을 작업 공간으로 읽어 들입니다.

A = imread('pout.tif');

아핀 기하 변환을 정의하는 affine2d 객체를 만듭니다. 이 예제에서는 세로 전단과 가로 늘이기를 결합합니다.

tform = affine2d([2 0.33 0; 0 1 0; 0 0 1])
tform = 
  affine2d with properties:

    Dimensionality: 2
                 T: [3x3 double]

imwarp를 사용하여 영상에 기하 변환을 적용합니다.

B = imwarp(A,tform);

결과 영상을 표시합니다.

figure
imshow(B);
axis on equal;

확장 기능

R2013a에 개발됨