Main Content

영상 크기 조정하기

이 예제에서는 imresize 함수를 사용하여 영상의 크기를 조정하는 방법을 보여줍니다.

먼저 영상을 읽어 들여 표시합니다.

I = imread("circuit.tif");
imshow(I)

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

배율 값 지정하기

imresize 함수를 사용하여 영상의 크기를 조정합니다. 이 예제에서는 배율 인자를 지정합니다. 영상을 확대하려면 1보다 큰 배율 인자를 지정하십시오.

magnificationFactor = 1.25;
J = imresize(I,magnificationFactor);

원본 영상과 확대된 영상을 몽타주 형태로 표시합니다.

imshowpair(I,J,method="montage")

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

출력 영상의 크기 지정하기

영상의 크기를 다시 조정합니다. 이번에는 배율 값 대신 출력 영상의 원하는 크기를 지정합니다. imresize에 출력 영상의 행 개수와 열 개수를 나타내는 벡터를 전달합니다. 지정한 크기가 입력 영상과 동일한 종횡비를 만들어 내지 않는다면 출력 영상이 왜곡됩니다. 벡터의 요소 중 하나를 NaN으로 지정하면 imresize는 영상의 종횡비를 유지하도록 해당 차원의 값을 계산합니다. 다중 해상도 처리에 필요한 크기 조정을 수행하려면 impyramid를 사용하십시오.

K = imresize(I,[100 150]);
imshowpair(I,K,method="montage")

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

보간 방법 지정하기

영상의 크기를 다시 조정합니다. 이번에는 보간 방법을 지정합니다. 영상을 확대하면 출력 영상이 원본 영상보다 많은 픽셀을 포함하게 됩니다. imresize는 이러한 픽셀의 값을 정하기 위해 보간을 사용하여 해당 픽셀 위치 가까이에 있는 일부 픽셀 세트의 가중 평균을 계산합니다. imresize는 점에서 각 픽셀까지의 거리에 따라 가중치를 적용합니다. imresize는 기본적으로 쌍삼차 보간을 사용하지만 다른 보간 방법이나 보간 커널을 지정할 수 있습니다. 사용자 지정 보간 커널을 지정할 수도 있습니다. 이 예제에서는 최근접이웃 보간을 사용합니다.

L = imresize(I,magnificationFactor,"nearest");

쌍삼차 보간 J를 사용하여 크기가 조정된 영상과 최근접이웃 보간 L을 사용하여 크기가 조정된 영상을 몽타주 형태로 표시합니다.

imshowpair(J,L,method="montage")

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

영상 축소 시 에일리어싱 방지하기

영상의 크기를 다시 조정합니다. 이번에는 영상의 크기를 축소합니다. 영상의 크기를 줄이면 출력 영상의 픽셀 개수가 줄어들기 때문에 원본 픽셀 중 일부가 손실됩니다. 이로 인해 에일리어싱과 같은 아티팩트가 발생할 수 있습니다. 크기 축소의 결과로 발생하는 에일리어싱은 보통 출력 영상에서 (특히 고대비 영상에서) 계단 패턴으로 나타나거나 모아레 패턴(잔물결 효과)으로 나타납니다. 기본적으로, imresize는 최근접이웃을 제외한 모든 보간 유형에서 출력 영상에 대한 에일리어싱 영향을 제한하기 위해 안티에일리어싱을 사용합니다. 안티에일리어싱을 끄려면 "Antialiasing" 이름-값 인수를 지정하고 값을 false로 설정하십시오. 안티에일리어싱이 켜진 상태라 하더라도, 영상의 크기를 줄이면 항상 정보가 손실되기 때문에 크기 조정으로 인한 아티팩트가 발생할 수 있습니다.

magnificationFactor = 0.66;
M = imresize(I,magnificationFactor);
N = imresize(I,magnificationFactor,Antialiasing=false);

크기 조정된 영상에 안티에일리어싱을 적용한 경우와 적용하지 않은 경우를 몽타주 형태로 표시합니다.

imshowpair(M,N,method="montage")

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

참고 항목

관련 항목