주요 콘텐츠

fitgeotrans

(권장되지 않음) 제어점 쌍에 기하 변환 피팅

fitgeotrans는 권장되지 않습니다. 대신 fitgeotform2d 함수를 사용하십시오. 자세한 내용은 버전 내역 항목을 참조하십시오.

설명

tform = fitgeotrans(movingPoints,fixedPoints,tformType)는 유형 tformType의 선형 기하 변환을 제어점 쌍 movingPointsfixedPoints에 피팅합니다.

예제

tform = fitgeotrans(movingPoints,fixedPoints,"polynomial",degree)PolynomialTransformation2D 객체를 제어점 쌍 movingPointsfixedPoints에 피팅합니다. 다항식 변환의 차수를 2, 3 또는 4로 지정합니다.

tform = fitgeotrans(movingPoints,fixedPoints,"pwl")PiecewiseLinearTransformation2D 객체를 제어점 쌍 movingPointsfixedPoints에 피팅합니다. 이 변환은 고정 제어점의 들로네 삼각분할을 만들고 이동 제어점을 대응되는 고정 제어점에 매핑합니다. 다른 아핀 변환이 각 국소 영역의 제어점을 매핑합니다. 매핑은 제어점에서 연속이지만 연속해서 미분 가능하지는 않습니다.

tform = fitgeotrans(movingPoints,fixedPoints,"lwm",n)LocalWeightedMeanTransformation2D 객체를 제어점 쌍 movingPointsfixedPoints에 피팅합니다. 국소 가중 평균 변환은 각 제어점에서 인접 제어점을 사용하여 다항식을 추론하는 방법으로 매핑을 생성합니다. 어느 임의 위치에서의 매핑은 이 다항식의 가중 평균에 따라 달라집니다. n개의 최근접 점을 사용하여 각 제어점 쌍에 대한 2차 다항식 변환을 추론합니다.

예제

모두 축소

체커보드 영상을 만들고 회전하여 정렬이 맞지 않는 영상을 만듭니다.

I = checkerboard(40);
J = imrotate(I,30);
imshowpair(I,J,"montage")

Figure contains an axes object. The hidden axes object contains an object of type image.

고정 영상(체커보드) 및 이동 영상(회전된 체커보드)에서 몇 개의 일치하는 제어점을 정의합니다. 제어점 선택 툴을 사용하여 대화형 방식으로 점을 정의할 수 있습니다.

fixedPoints = [41 41; 281 161];
movingPoints = [56 175; 324 160];

두 영상을 정렬하는 데 쓰일 수 있는 아핀 기하 변환을 만듭니다.

tform = fitgeotform2d(movingPoints,fixedPoints,"similarity");

tform 추정값을 사용하여 회전된 영상을 리샘플링하고 고정 영상과 정합을 수행합니다. 오버레이 영상에서 녹색과 자홍색의 가색상으로 표시되는 영역은 정합 오류를 나타냅니다. 이 오류는 제어점에 정확한 대응 관계가 없기 때문에 발생합니다.

Jregistered = imwarp(J,tform,OutputView=imref2d(size(I)));
imshowpair(I,Jregistered)

Figure contains an axes object. The hidden axes object contains an object of type image.

입력 인수

모두 축소

이동 영상에 있는 제어점으로, m×2 행렬로 지정됩니다. 각 행은 제어점의 (x, y) 좌표를 지정합니다.

예: movingPoints = [11 11; 41 71];

데이터형: double | single

고정 영상에 있는 제어점으로, m×2 행렬로 지정됩니다. 각 행은 제어점의 (x, y) 좌표를 지정합니다.

예: fixedPoints = [14 44; 70 81];

데이터형: double | single

선형 변환 유형으로, "nonreflectivesimilarity", "similarity", "affine" 또는 "projective"로 지정됩니다. 자세한 내용은 변환 유형 항목을 참조하십시오.

데이터형: char | string

다항식 차수로, 정수 2, 3 또는 4로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

국소 가중 평균 계산에 쓰일 점의 개수로, 양의 정수로 지정됩니다. n의 최솟값은 6이지만, n의 값이 작으면 나쁜 조건의 다항식이 생성될 위험이 있습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

변환으로, 기하 변환 객체로 반환됩니다. 객체 유형은 변환 유형에 따라 달라집니다.

변환 유형

기하 변환 객체
"nonreflectivesimilarity"affine2d
"similarity"affine2d
"affine"affine2d
"projective"projective2d
"polynomial"PolynomialTransformation2D
"pwl"PiecewiseLinearTransformation2D
"lwm"LocalWeightedMeanTransformation2D

세부 정보

모두 축소

참고 문헌

[1] Goshtasby, Ardeshir. “Piecewise Linear Mapping Functions for Image Registration.” Pattern Recognition 19, no. 6 (January 1986): 459–66. https://doi.org/10.1016/0031-3203(86)90044-0.

[2] Goshtasby, Ardeshir. “Image Registration by Local Approximation Methods.” Image and Vision Computing 6, no. 4 (November 1988): 255–61. https://doi.org/10.1016/0262-8856(88)90016-9.

확장 기능

모두 확장

버전 내역

R2013b에 개발됨

모두 확장