주요 콘텐츠

fitgeotform2d

제어점 쌍에 2차원 기하 변환 피팅

R2022b 이후

설명

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

예제

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

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

tform = fitgeotform2d(movingPoints,fixedPoints,"lwm",n)은 국소 가중 평균 변환을 제어점 쌍 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) 좌표를 지정합니다.

변환 유형은 제어점 쌍의 최소 개수에 영향을 미칩니다. 예를 들어, 반사 없는 유사 변환에는 적어도 두 개의 제어점 쌍이 필요합니다. 4차 다항식 변환에는 적어도 15개의 제어점 쌍이 필요합니다. 자세한 내용은 변환 유형 항목을 참조하십시오.

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

데이터형: double | single

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

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

데이터형: double | single

선형 변환 유형으로, "similarity", "reflectivesimilarity", "affine" 또는 "projective"로 지정됩니다.

데이터형: char | string

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

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

출력 인수

모두 축소

기하 변환으로, 표에 정의된 기하 변환 객체로 반환됩니다.

변환 유형

기하 변환 객체
"similarity"simtform2d
"reflectivesimilarity"affinetform2d
"affine"affinetform2d
"projective"projtform2d
"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.

확장 기능

모두 확장

버전 내역

R2022b에 개발됨

모두 확장