MATLAB에서 이미지 크기 조정

Ammar Ali 2024년2월15일
MATLAB에서 이미지 크기 조정

이 튜토리얼에서는 Matlab의 imresize() 함수를 사용하여 이미지 크기를 조정하는 방법에 대해 설명합니다.

MATLAB의 imresize() 함수를 사용하여 이미지 크기 조정

imresize() 함수를 사용하여 Matlab에서 이미지 크기를 조정할 수 있습니다. 이 기능은 픽셀을 늘리거나 줄여 이미지 크기를 조정합니다. 예를 들어 이미지 크기를 100x100 크기로 두 번 조정하면 최종 크기는 200x200이 됩니다. 이 함수는 이웃에 이미 존재하는 픽셀 값을 사용하여 더 많은 픽셀을 생성합니다. 이미지의 크기를 줄이려면 1보다 작은 크기 조정 값을 사용할 수 있습니다. 이 경우 imresize() 함수는 크기 조정 값에 따라 이미지에서 픽셀을 제거합니다. 크기 조정 배율이 0.5이면 픽셀이 절반이 됩니다. 첫 번째 인수는 크기를 조정할 이미지입니다. 논리, 숫자 및 범주 유형이 될 수 있지만 숫자 값은 실수여야 합니다. 두 번째 인수는 크기 또는 크기 조정 요소이며 양수여야 합니다. 예를 들어, imread() 함수를 사용하여 이미지를 읽고 imresize() 함수를 사용하여 이미지 크기를 조정한 다음 imshow() 함수를 사용하여 둘 다 플로팅해 보겠습니다. 아래 코드를 참조하십시오.

clc
RGB = imread('cat.jpg');
RI = imresize(RGB,10);
figure
imshow(RGB)
figure
imshow(RI)

출력:

imresize 함수를 사용하여 이미지 크기 조정

왼쪽 이미지는 출력의 원본 이미지이고 오른쪽 이미지는 크기가 조정된 이미지입니다. 두 개의 출력 이미지가 저장되어 있는 변수의 크기도 확인할 수 있으며, 원래 크기의 10배가 됩니다. 이미지에 2개 이상의 차원이 포함된 경우 imresize() 함수는 처음 2개 차원의 크기만 변경하고 다른 차원은 동일하게 유지합니다. 예를 들어 위 코드의 경우 Matlab의 작업 공간을 보면 원본 이미지와 크기 조정된 이미지 모두 3차원이 동일하다는 것을 알 수 있습니다. 크기 조정 값으로 정수를 사용하는 대신 벡터를 사용하여 [100 100]과 같은 출력 이미지의 크기를 정의하여 100x100 크기의 출력 이미지를 얻을 수 있습니다. 예를 들어 위 이미지의 크기를 조정하여 100x100 크기의 이미지를 얻습니다. 아래 코드를 참조하십시오.

clc
RGB = imread('cat.jpg');
RI = imresize(RGB,[100 100]);
figure
imshow(RGB)
figure
imshow(RI)

출력:

원하는 크기로 이미지 크기 조정

왼쪽 이미지는 출력의 원본 이미지이고 오른쪽 이미지는 크기가 조정된 이미지입니다. 100x100인 오른쪽 이미지 상단에서 출력 이미지의 크기도 확인할 수 있습니다. 세 번째 차원은 이미지에 있는 색상 값을 포함하므로 변경되지 않습니다. imresize() 함수를 사용하여 인덱스 이미지의 크기를 조정할 수도 있습니다. 인덱스 이미지는 RGB 이미지와 달리 바이트 데이터가 저장된 2D 배열로 구성되며 double, int16 등과 같은 다른 유형의 데이터를 넣을 수도 있습니다. RGB 이미지는 다음을 포함합니다. color는 3차원으로 표시되지만 인덱스 이미지에는 색상이 별도의 컬러맵으로 포함됩니다. 인덱스 이미지의 크기를 조정하려면 imread() 함수의 두 번째 출력을 사용하여 얻을 수 있는 입력 이미지의 컬러맵인 imresize() 함수 내부에 두 번째 변수를 사용해야 합니다. 크기 조정 기능은 새로운 2D 배열과 새로운 컬러맵을 제공합니다. 인덱스 이미지를 플롯하려면 2D 배열과 맵을 사용해야 합니다. 예를 들어 인덱스 이미지를 읽고 크기를 조정해 보겠습니다. 아래 코드를 참조하십시오.

clc
[OI,map] = imread("corn.tif");
[RI,Nmap] = imresize(OI,map,2);
figure
imshow(OI,map)
figure
imshow(RI,Nmap)

출력:

인덱스 이미지 크기 조정

오른쪽 이미지는 출력의 원본 이미지이고 왼쪽 이미지는 크기가 조정된 이미지입니다. 이미지 크기를 조정하는 데 사용되는 보간 방법을 변경할 수도 있습니다. 기본 방법은 쌍입방이지만 imresize() 함수에 새 방법의 이름이 포함된 문자열을 입력하여 가장 가까운 또는 쌍선형으로 변경할 수 있습니다. 가장 가까운 보간 방법에서 출력 픽셀에는 점이 속하는 픽셀 값이 할당됩니다. 쌍선형 보간 방법에서 출력 픽셀에는 가장 가까운 2x2 이웃 픽셀의 가중 평균인 값이 할당됩니다. 쌍삼차 보간 방법에서 출력 픽셀에는 가장 가까운 4x4 이웃 픽셀의 가중 평균인 값이 할당됩니다.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Image