Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

imresize

이미지 크기 조정

설명

예제

B = imresize(A,scale)은 이미지 A의 크기를 scale배만큼 조정하여 이미지 B를 반환합니다. 입력 이미지 A는 회색조, RGB, 이진 또는 범주 이미지일 수 있습니다.

A의 차원이 2차원을 넘는 경우 imresize는 처음 2개 차원의 크기만 조정합니다. scale이 0과 1 사이이면 BA보다 작습니다. scale이 1보다 크면 BA보다 큽니다. 기본적으로, imresize는 쌍삼차 보간을 사용합니다.

예제

B = imresize(A,[numrows numcols])는 요소를 2개 가진 벡터 [numrows numcols]에서 지정한 행 개수와 열 개수를 가지는 이미지 B를 반환합니다.

예제

[Y,newmap] = imresize(X,map,___)은 인덱스 이미지 X의 크기를 조정합니다. 여기서 map은 이미지와 연결된 컬러맵입니다.

예제

___ = imresize(___,method)는 사용되는 보간 방법을 지정합니다.

___ = imresize(___,Name,Value)는 이름-값 인수에 의해 크기 조정 작업의 여러 측면이 제어된 크기 조정 이미지를 반환합니다. 다른 모든 입력 인수 다음에 이름-값 인수를 지정합니다.

예제

모두 축소

이미지를 작업 공간에 불러옵니다.

I = imread('ngc6543a.jpg');

2배만큼 이미지를 축소합니다.

J = imresize(I, 0.5);

원래 이미지와 크기 조정된 이미지를 표시합니다.

figure, imshow(I), figure, imshow(J)

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

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

이미지를 작업 공간에 불러옵니다.

I = imread('ngc6543a.jpg');

최근접이웃 보간을 사용하여 이미지를 원래 크기의 40%까지 축소합니다. 이것은 가장 빠른 방법이지만, 품질은 가장 낮습니다.

J = imresize(I,0.4,'nearest');

원래 이미지와 크기 조정된 이미지를 표시합니다.

imshow(I)
title('Original Image')

Figure contains an axes object. The axes object with title Original Image contains an object of type image.

imshow(J)
title('Resized Image Using Nearest Neighbor Interpolation')

Figure contains an axes object. The axes object with title Resized Image Using Nearest Neighbor Interpolation contains an object of type image.

RGB 이미지를 작업 공간으로 읽어 옵니다.

RGB = imread('peppers.png');

RGB 이미지의 크기를 64개 행이 포함되도록 조정합니다. imresize는 열 개수를 자동으로 계산합니다.

RGB2 = imresize(RGB,[64 NaN]);

크기가 조정된 이미지의 크기를 가져옵니다.

sz = size(RGB2)
sz = 1×3

    64    86     3

원래 이미지와 크기 조정된 이미지를 표시합니다.

imshow(RGB)
title("Original Image")

Figure contains an axes object. The axes object with title Original Image contains an object of type image.

imshow(RGB2)
title("Resized Image with 64 Rows")

Figure contains an axes object. The axes object with title Resized Image with 64 Rows contains an object of type image.

인덱스 이미지를 작업 공간으로 읽어 들입니다.

[X,map] = imread("corn.tif");

인덱스 이미지의 크기를 50% 늘립니다.

[Y,newmap] = imresize(X,map,1.5);

원래 이미지와 크기 조정된 이미지를 표시합니다.

imshow(X,map)
title("Original Indexed Image and Colormap")

Figure contains an axes object. The axes object with title Original Indexed Image and Colormap contains an object of type image.

imshow(Y,newmap)
title("Resized Image and Optimized Colormap")

Figure contains an axes object. The axes object with title Resized Image and Optimized Colormap contains an object of type image.

입력 인수

모두 축소

크기를 조정할 이미지로, 임의의 차원의 숫자형 배열, 논리형 배열 또는 categorical형 배열로 지정됩니다. 입력값은 비희소 형식이어야 하고 숫자형 입력값은 실수여야 합니다.

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical | categorical

크기 조정 인자로, 양수로 지정됩니다. imresize는 동일한 스케일링 인자를 행 및 열 차원에 적용합니다. 각 차원에 크기 조정 인자를 다르게 적용하려면 'Scale' 이름-값 인수를 사용하십시오.

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

출력 이미지의 행 및 열 차원으로, 양수로 구성된 요소를 2개 가진 벡터로 지정됩니다. numrows 또는 numcols 중 하나에 NaN 값을 지정할 수 있습니다. 이 경우 imresize는 해당 차원에 대해 행 또는 열 개수를 자동으로 계산하여 이미지 종횡비를 유지합니다.

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

크기 조정할 인덱스 이미지로, 양의 정수로 구성된 비희소 형식의 실수 숫자형 배열로 지정됩니다.

데이터형: double | uint8 | uint16

인덱스 이미지 X와 연결된 컬러맵으로, 값이 [0, 1] 범위에 있는 c×3 숫자형 행렬로 지정됩니다. 각 행은 컬러맵의 하나의 색에 대한 빨간색, 녹색, 파란색 성분을 지정하는, 요소를 3개 가진 RGB 3색입니다.

데이터형: double

보간 방법으로, 문자형 벡터, string형 스칼라 또는 요소를 2개 가진 셀형 배열로 지정됩니다.

method가 문자형 벡터이거나 string형 스칼라일 경우 다음 표에 나열된 특정 방법 또는 명명된 보간 커널이 사용됩니다.

방법설명

"nearest"

최근접이웃 보간으로, 점이 속하는 픽셀 값이 출력 픽셀에 할당됩니다. 다른 픽셀은 고려되지 않습니다.

"bilinear"

쌍선형 보간으로, 출력 픽셀 값은 최근접 2×2 이웃 픽셀의 가중 평균입니다.

"bicubic"

쌍삼차 보간으로, 출력 픽셀 값은 최근접 4×4 이웃 픽셀의 가중 평균입니다.

참고

쌍삼차 보간은 원래 범위를 벗어나는 픽셀 값을 생성할 수 있습니다.

보간 커널설명
"box"상자 형태 커널
"triangle"삼각 커널("bilinear"와 동일)
"cubic"3차 커널("bicubic"과 동일)
"lanczos2"란초스-2 커널
"lanczos3"란초스-3 커널

method가 요소를 2개 가진 셀형 배열이면 이에 의해 사용자 지정 보간 커널이 정의됩니다. 셀형 배열은 {f,w} 형식을 가집니다. 여기서, f는 사용자 지정 보간 커널의 함수 핸들이고 w는 사용자 지정 커널의 너비입니다. f(x)는 구간 -w/2 <= x < w/2 밖에서 0이어야 합니다. 함수 핸들 f에 스칼라 또는 벡터 입력을 함께 호출할 수 있습니다. 사용자 지정 보간 커널의 경우, 출력 이미지의 일부 값은 입력 이미지의 픽셀 범위를 약간 벗어날 수 있습니다.

내장 보간 커널 및 사용자 지정 보간 커널에 대한 자세한 내용은 Create and Compare Resizing Interpolation Kernels 항목을 참조하십시오.

데이터형: char | string | cell

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: B = imresize(A,0.5,Antialiasing=false)는 이미지를 축소할 때 안티에일리어싱을 수행하지 않습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: B = imresize(A,0.5,"Antialiasing",false)는 이미지를 축소할 때 안티에일리어싱을 수행하지 않습니다.

이미지 축소 시 안티에일리어싱 수행 여부로, true 또는 false로 지정됩니다.

  • 보간 method"nearest"이면 'Antialiasing'의 디폴트 값은 false입니다.

  • 보간 method"box"이고 입력 이미지가 범주형이면 'Antialiasing'의 디폴트 값은 false입니다.

  • 다른 모든 보간 방법에 대해서는 디폴트 값이 true입니다.

데이터형: logical

인덱스 이미지에 대해 최적화된 컬러맵을 반환할지 원래 컬러맵을 반환할지 여부로, 다음 값 중 하나로 지정됩니다.

설명
"original"출력 컬러맵 newmap은 입력 컬러맵 map과 같습니다.
"optimized"imresize는 최적화된 새 컬러맵을 반환합니다.

'Colormap' 인수는 인덱스 이미지의 크기를 조정하는 경우에만 유효합니다.

데이터형: char | string

색 디더링 수행 여부로, true 또는 false로 지정됩니다. 디더링에서는 이미지에 잡음 형태를 적용하여 양자화 오차를 무작위화하고 대규모 패턴을 방지합니다.

'Dither' 인수는 인덱스 이미지의 크기를 조정하는 경우에만 유효합니다.

데이터형: logical

보간 방법으로, 문자형 벡터 또는 요소를 2개 가진 셀형 배열로 지정됩니다. 자세한 내용은 method를 참조하십시오.

데이터형: char | string | cell

출력 이미지의 크기로, 양수로 구성된 요소를 2개 가진 벡터로 지정됩니다. 자세한 내용은 [numrows numcols]를 참조하십시오.

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

크기 조정 스케일링 인자로, 양수 하나로 지정되거나 양수로 구성된 요소를 2개 가진 벡터로 지정됩니다. 스칼라를 지정할 경우 imresize는 동일한 스케일링 인자를 행 및 열 차원에 적용합니다. 요소를 2개 가진 벡터를 지정하면 imresize는 다른 스케일링 값을 각 차원에 적용합니다.

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

출력 인수

모두 축소

크기가 조정된 이미지로, 입력 이미지 A와 동일한 데이터형의 숫자형 배열, 논리형 배열 또는 categorical형 배열로 반환됩니다.

크기가 조정된 인덱스 이미지로, 입력 인덱스 이미지 X와 동일한 데이터형의 숫자형 배열로 반환됩니다.

크기가 조정된 인덱스 이미지 Y의 컬러맵으로, m×3 숫자형 행렬로 반환됩니다. 기본적으로, imresize는 크기가 조정된 이미지와 함께 새로 최적화된 컬러맵을 반환합니다. 원래 컬러맵과 동일한 컬러맵을 반환하려면 'Colormap' 이름-값 인수를 사용하십시오.

  • 출력 이미지의 크기가 정수가 아닌 경우, imresize는 지정된 스케일을 사용하지 않습니다. 출력 이미지 크기를 계산할 때 imresizeceil 함수를 사용합니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

(Image Processing Toolbox) |