Main Content

affineOutputView

영상에 워핑을 적용하기 위한 출력 보기 만들기

R2019b 이후

설명

Rout = affineOutputView(sizeA,tform)은 입력 영상의 크기 sizeA와 아핀 기하 변환 tform을 받고 공간 참조 객체 Rout을 반환합니다. 이 객체를 imwarp에 대한 입력값으로 사용하여, 워핑이 적용된 영상의 출력 범위 제한과 그리드 간격을 조정할 수 있습니다.

예제

Rout = affineOutputView(sizeA,tform,BoundsStyle=style)은 출력 보기의 공간적 제한에 대한 제약 조건도 지정합니다. 예를 들어 출력 보기에 출력 영상을 완전히 포함해야 하는지 또는 출력 보기가 입력 범위 제한과 일치해야 하는지 등을 지정합니다.

예제

모두 축소

영상을 읽어 들여 표시합니다. 영상의 공간 범위를 보려면 좌표축을 표시하십시오.

A = imread("kobi.png");
A = imresize(A,0.25);
iptsetpref("ImshowAxesVisible","on")
imshow(A)

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

2차원 아핀 변환을 만듭니다. 이 예제에서는 [1.2, 2.4] 범위 내의 인자로 스케일링하고, [-45, 45]도 범위 내의 각도로 회전하며, [100, 200]픽셀 범위 내의 거리로 가로 평행 이동하는 무작위 변환을 만듭니다.

tform = randomAffine2d("Scale",[1.2,2.4],"XTranslation",[100 200],"Rotation",[-45,45]);

영상과 변환에 사용할 3가지 출력 보기를 만듭니다.

centerOutput = affineOutputView(size(A),tform,"BoundsStyle","CenterOutput");
followOutput = affineOutputView(size(A),tform,"BoundsStyle","FollowOutput");
sameAsInput = affineOutputView(size(A),tform,"BoundsStyle","SameAsInput");

각각의 서로 다른 출력 보기 스타일을 사용하여 입력 영상에 변환을 적용합니다.

BCenterOutput = imwarp(A,tform,"OutputView",centerOutput);
BFollowOutput = imwarp(A,tform,"OutputView",followOutput);
BSameAsInput = imwarp(A,tform,"OutputView",sameAsInput);

결과 영상을 표시합니다.

imshow(BCenterOutput)
title("CenterOutput Bounds Style");

Figure contains an axes object. The axes object with title CenterOutput Bounds Style contains an object of type image.

imshow(BFollowOutput)
title("FollowOutput Bounds Style");

Figure contains an axes object. The axes object with title FollowOutput Bounds Style contains an object of type image.

imshow(BSameAsInput)
title("SameAsInput Bounds Style");

Figure contains an axes object. The axes object with title SameAsInput Bounds Style contains an object of type image.

iptsetpref("ImshowAxesVisible","off")

입력 인수

모두 축소

입력 영상 크기로, 2차원 영상 입력의 경우에는 요소를 2개 가진 숫자형 벡터로 지정되고 3차원 볼륨 영상 입력의 경우에는 요소를 3개 가진 숫자형 벡터로 지정됩니다.

기하 변환으로, 표에 나열된 기하 변환 객체로 지정됩니다.

기하 변환 객체설명
2차원 기하 변환
transltform2d평행 이동 변환
rigidtform2d강체 변환: 평행 이동 및 회전
simtform2d유사 변환: 평행 이동, 회전, 등방성 스케일링
affinetform2d아핀 변환: 평행 이동, 회전, 비등방성 스케일링, 반사, 전단
3차원 기하 변환
transltform3d평행 이동 변환
rigidtform3d강체 변환: 평행 이동 및 회전
simtform3d유사 변환: 평행 이동, 회전, 등방성 스케일링
affinetform3d아핀 변환: 평행 이동, 회전, 비등방성 스케일링, 반사, 전단

참고

tformaffine2d 객체 또는 affine3d 객체로 지정할 수도 있습니다. 그러나 이러한 객체는 권장되지 않습니다. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

범위 스타일로, 다음 값 중 하나로 지정됩니다.

스타일설명
"CenterOutput"보기 중심이 출력 공간상의 영상 중앙에 오도록 하며, 평행 이동으로 인해 보기를 벗어난 출력 영상 부분은 안 보이게 됩니다.
"FollowOutput"출력 영상을 완전히 포함하도록 출력 보기의 제한을 설정합니다.
"SameAsInput"출력 제한을 입력 제한과 같게 설정합니다.

출력 인수

모두 축소

공간 참조로, imref2d 객체 또는 imref3d 객체로 반환됩니다. 워핑이 적용된 출력값의 공간 참조를 지정하려면 Routimwarp 함수의 OutputView 인수로 사용하십시오.

확장 기능

버전 내역

R2019b에 개발됨

모두 확장