Main Content

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

imshow

설명

예제

imshow(I)는 Figure에 회색조 영상 I를 표시합니다. imshow는 영상 데이터형에 대한 디폴트 표시 범위를 사용하고 영상 표시를 위해 figure, axes 및 image 객체 속성을 최적화합니다.

imshow(I,[low high])는 표시 범위를 요소를 2개 가진 벡터 [low high]로 지정하여 회색조 영상 I를 표시합니다. 자세한 내용은 DisplayRange 파라미터를 참조하십시오.

예제

imshow(I,[])I의 픽셀 값 범위에 따라 표시 영역을 스케일링하여 회색조 영상 I를 표시합니다. imshow[min(I(:)) max(I(:))]를 표시 범위로 사용합니다. imshowI의 최솟값을 검은색으로 표시하고, 최댓값을 흰색으로 표시합니다. 자세한 내용은 DisplayRange 파라미터를 참조하십시오.

예제

imshow(RGB)는 Figure에 트루컬러 영상 RGB를 표시합니다.

예제

imshow(BW)는 Figure에 이진 영상 BW를 표시합니다. 이진 영상의 경우 imshow는 값 0을 갖는 픽셀을 검은색으로 표시하고, 값 1을 갖는 픽셀을 흰색으로 표시합니다.

예제

imshow(X,map)은 컬러맵 map을 사용하여 인덱스 영상 X를 표시합니다. 컬러맵 행렬의 행의 수에는 제한이 없지만 열의 수는 정확히 3개여야 합니다. 각 행은 색으로 해석됩니다. 첫 번째 요소는 빨간색의 농도를, 두 번째 요소는 녹색의 농도를, 세 번째 요소는 파란색의 농도를 지정합니다. 색 농도는 구간 [0, 1]에서 지정할 수 있습니다.

예제

imshow(filename)filename으로 지정된 그래픽스 파일에 저장된 영상을 표시합니다.

imshow(___,Name,Value)는 이름-값 쌍을 사용하여 작업의 여러 면을 제어하면서 영상을 표시합니다.

himage = imshow(___)imshow에서 생성된 image 객체를 반환합니다.

imshow(I,RI)는 2차원 공간 참조 객체 RI가 연결되어 있는 영상 I를 표시합니다.

imshow(X,RX,map)은 2차원 공간 참조 객체 RX와 컬러맵 map이 연결되어 있는 인덱스 영상 X를 표시합니다.

예제

모두 축소

imshow를 사용하여 회색조 영상, RGB(트루컬러) 영상, 인덱스 영상 또는 이진 영상을 표시합니다. MATLAB®에는 corn.tif라는 TIF 파일이 있는데, 이 안에는 세 가지 영상, 즉 회색조 영상, 인덱스 영상, 트루컬러(RGB) 영상이 들어 있습니다. 이 예제에서는 회색조 영상에서 이진 영상을 만듭니다.

회색조 영상 표시하기

corn.tif 파일의 회색조 영상을 MATLAB 작업 공간으로 읽어 들입니다. 이 회색조 영상은 파일의 세 번째 영상입니다.

corn_gray = imread('corn.tif',3);

imshow를 사용하여 회색조 영상을 표시합니다.

imshow(corn_gray)

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

인덱스 영상 표시하기

corn.tif 파일의 인덱스 영상을 MATLAB 작업 공간으로 읽어 들입니다. 이 인덱스 영상은 파일의 첫 번째 영상입니다.

[corn_indexed,map] = imread('corn.tif',1);

imshow를 사용하여 인덱스 영상을 표시합니다.

imshow(corn_indexed,map)

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

RGB 영상 표시하기

corn.tif 파일의 RGB 영상을 MATLAB 작업 공간으로 읽어 들입니다. 이 RGB 영상은 파일의 두 번째 영상입니다.

[corn_rgb] = imread('corn.tif',2);

imshow를 사용하여 RGB 영상을 표시합니다.

imshow(corn_rgb)

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

이진 영상 표시하기

corn.tif 파일의 회색조 영상을 MATLAB 작업 공간으로 읽어 들인 다음 이진화를 사용하여 회색조 영상을 이진 영상으로 변환합니다. 이 회색조 영상은 파일의 세 번째 영상입니다.

[corn_gray] = imread('corn.tif',3);

회색조 영상의 픽셀 평균값을 구합니다.

meanIntensity = mean(corn_gray(:));

평균 명암 값을 임계값으로 사용하여 이진화를 통해 이진 영상을 생성합니다.

corn_binary = corn_gray > meanIntensity;

imshow를 사용하여 이진 영상을 표시합니다.

imshow(corn_binary)

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

파일에 저장된 영상을 표시합니다.

imshow('peppers.png');

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

샘플 인덱스 영상 corn.tif를 작업 공간으로 읽어 들인 후 표시합니다.

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

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

colormap 함수를 사용하고 대상 좌표축을 첫 번째 입력 인수로 지정하여 영상의 컬러맵을 변경합니다. 원래의 컬러맵에서 빨간색 성분을 없앤 컬러맵을 사용합니다.

newmap = map;
newmap(:,1) = 0;
colormap(gca,newmap)

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

트루컬러(RGB) 영상을 작업 공간으로 읽어 들입니다. 영상의 데이터형은 uint8입니다.

RGB = imread('peppers.png');

영상에서 녹색 채널을 추출합니다. 녹색 채널은 두 번째 색 평면입니다.

G = RGB(:,:,2);
imshow(G)

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

영상의 가로 방향 경계를 검출하는 필터를 만듭니다.

filt = [-1 -1 -1;0 0 0;1 1 1];

filter2 함수를 사용하여 영상의 녹색 채널을 필터링합니다. 결과는 최솟값 -422와 최댓값 656을 갖는 double 데이터형의 영상입니다. 필터링된 영상에서 값의 크기가 큰 픽셀은 강한 경계를 나타냅니다.

edgeG = filter2(filt,G);

디폴트 표시 범위로 imshow를 사용하여 필터링된 영상을 표시합니다. double 데이터형 영상의 디폴트 표시 범위는 [0, 1]입니다. 필터링된 픽셀 값이 [0, 1] 범위를 초과하기 때문에 영상은 흑백으로 나타납니다.

imshow(edgeG)

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

필터링된 영상을 표시하고 표시 범위를 영상의 픽셀 값으로 스케일링합니다. 영상이 회색조 값의 전체 범위를 사용하여 표시됩니다.

imshow(edgeG,[])

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

corn.tif 파일에서 작업 공간으로 회색조 영상을 읽어 들입니다. 이 회색조 영상은 파일의 두 번째 영상입니다.

corn_gray = imread('corn.tif',2);

영상의 한 작은 부분을 선택합니다. imshow를 사용하여 상세 영상을 100% 배율로 표시합니다.

corn_detail = corn_gray(1:100,1:100);
imshow(corn_detail)

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

'InitialMagnification' 이름-값 쌍 인수를 사용하여 영상을 1000% 배율로 표시합니다. 기본적으로 inshow는 픽셀 값의 최근접이웃 보간을 수행합니다. 영상에 블로킹 아티팩트가 있습니다.

imshow(corn_detail,'InitialMagnification',1000)

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

쌍선형 보간 기법을 지정하여 영상을 1000% 배율로 표시합니다. 영상이 더 부드럽게 표시됩니다.

imshow(corn_detail,'InitialMagnification',1000,'Interpolation',"bilinear")

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

영상을 작업 공간으로 읽어 들입니다.

I = imread('pout.tif');

영상을 표시합니다. 영상 크기에 맞춰 좌표축 제한이 설정된 것을 볼 수 있습니다.

figure
imshow(I)

영상과 연결된 공간 참조 객체를 만듭니다. 그 참조 객체를 사용하여 세계 좌표계에서 x, y 좌표축 제한을 설정합니다.

RI = imref2d(size(I));
RI.XWorldLimits = [0 3];
RI.YWorldLimits = [2 5];

공간 참조 객체를 지정하여 영상을 표시합니다. 이제 x, y 좌표축 제한이 변경됩니다.

figure
imshow(I,RI)

입력 인수

모두 축소

입력 회색조 영상으로, 행렬로 지정됩니다. 회색조 영상은 임의의 숫자 데이터형일 수 있습니다.

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

입력 트루컬러 영상으로, m×n×3 배열로 지정됩니다.

데이터형이 single형 또는 double형인 트루컬러 영상을 지정할 경우 값은 [0, 1] 범위에 있어야 합니다. 픽셀 값이 이 범위 밖에 있는 경우 rescale 함수를 사용하여 픽셀 값을 [0, 1] 범위로 스케일링할 수 있습니다. 입력 영상이 트루컬러이면 'DisplayRange' 인수는 영향을 미치지 않습니다.

데이터형: single | double | uint8 | uint16

입력 이진 영상으로, 행렬로 지정됩니다.

데이터형: logical

인덱스 영상으로, 실수 숫자형 값으로 구성된 2차원 배열로 지정됩니다. X의 값은 map으로 지정된 컬러맵에 대한 인덱스입니다.

데이터형: single | double | uint8 | logical

컬러맵으로, 범위 [0 1] 내의 single형 또는 double형으로 구성된 c×3 배열이나 uint8형으로 구성된 c×3 배열로 지정됩니다. 각 행은 RGB 색 값을 지정합니다.

데이터형: single | double | uint8

파일 이름으로, 문자형 벡터로 지정됩니다. imread로 읽을 수 있는 영상이어야 합니다. imshow 함수는 영상을 표시하지만, 영상 데이터를 MATLAB® 작업 공간에 저장하지 않습니다. 파일에 여러 개의 영상이 포함된 경우 imshow는 파일의 첫 번째 영상을 표시합니다.

예: imshow('peppers.png')

데이터형: char

회색조 영상 표시 범위로, 요소를 2개 가진 벡터로 지정됩니다. 자세한 내용은 'DisplayRange' 이름-값 쌍의 인수를 참조하십시오.

예: [50 250]

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

입력 영상과 연결된 2차원 공간 참조 객체로, imref2d 객체로 지정됩니다.

인덱스 영상과 연결된 2차원 공간 참조 객체로, imref2d 객체로 지정됩니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: imshow('board.tif','Border','tight')

Figure 창 테두리 공간으로, 'Border'와 함께 'tight''loose'가 쉼표로 구분되어 지정됩니다. 'loose'로 설정된 경우 Figure 창은 Figure에서 영상 주위의 공간을 포함합니다. 'tight'로 설정된 경우 Figure 창은 Figure에서 영상 주위의 공간을 포함하지 않습니다.

영상이 매우 작거나 Figure에 image와 해당 axes 외에 다른 객체가 포함된 경우 imshow는 이 파라미터가 어떻게 설정되었는지에 관계없이 테두리를 사용할 수 있습니다.

예: imshow('board.tif','Border','tight')

데이터형: char

컬러맵으로, 'Colormap'과 함께 범위 [0, 1]의 값으로 구성된 c×3 행렬이 쉼표로 구분되어 지정됩니다. imshow는 이 컬러맵을 사용하여 좌표축의 컬러맵을 설정합니다. 이 파라미터를 사용하여 회색조 영상을 가색상(false color)으로 볼 수 있습니다. 빈 컬러맵([])을 지정할 경우 imshow는 이 파라미터를 무시합니다.

참고

R2016b부터 imshow는 Figure가 아니라 영상이 포함된 좌표축의 컬러맵을 변경합니다.

예: newmap = copper; imshow('board.tif','Colormap',newmap)

데이터형: double

회색조 영상 표시 범위로, [low high] 형식의, 요소를 2개 가진 벡터로 지정됩니다. imshow 함수는 값 lowlow보다 작은 값을 검은색으로 표시하고, 값 highhigh보다 큰 값을 흰색으로 표시합니다. lowhigh 사이의 값은 디폴트 회색 레벨을 사용하여 중간 회색 음영으로 표시됩니다.

빈 행렬([])을 지정할 경우 imshow는 표시 범위 [min(I(:)) max(I(:))]를 사용합니다. 즉, I의 최솟값은 검은색이고, 최댓값은 흰색입니다.

표시 범위를 지정하지 않을 경우 imshow는 영상 데이터형을 기준으로 디폴트 표시 범위를 선택합니다.

  • I가 정수형이면 DisplayRange는 기본적으로 이 정수형 클래스의 표현 가능한 최솟값과 최댓값으로 설정됩니다. 예를 들어, uint16형 배열의 디폴트 표시 범위는 [0, 65535]입니다.

  • I의 데이터형이 single형 또는 double형이면 디폴트 표시 범위는 [0, 1]입니다.

참고

영상이 파일 이름으로 지정된 경우를 제외하고, 파라미터 이름을 포함하는 것은 선택 사항입니다. 구문 imshow(I,[low high])imshow(I,'DisplayRange',[low high])와 동일합니다. imshow를 파일 이름과 함께 호출할 경우에는 'DisplayRange' 파라미터를 지정해야 합니다.

예: imshow(I,'DisplayRange',[0 80]);

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

영상 표시의 초기 배율로, 'InitialMagnification'과 함께 숫자형 스칼라, 'fit' 중 하나가 쉼표로 구분되어 지정됩니다. 100으로 설정된 경우 imshow는 영상을 100% 배율(각 영상 픽셀당 하나의 화면 픽셀)로 표시합니다. 'fit'으로 설정된 경우 imshow는 전체 영상을 창에 맞게 스케일링합니다.

imshow는 처음에 지정된 배율로 전체 영상을 표시하려고 시도합니다. 배율 값이 너무 커서 영상이 화면에 표시할 수 없을 정도로 크다면 imshow는 화면에 맞는 가장 큰 배율로 영상을 표시합니다.

'WindowStyle' 속성이 'docked'로 설정된 Figure에 영상이 표시되는 경우 imshow는 Figure에 맞는 가장 큰 배율로 영상을 표시합니다.

참고: 좌표축 위치를 지정할 경우 imshow는 (사용자가 지정했을 수도 있는) 초기 배율을 무시하고 기본적으로 'fit' 동작으로 설정됩니다.

imshow'Reduce' 파라미터와 함께 사용할 경우 초기 배율은 'fit'이어야 합니다.

MATLAB Online™에서는 'InitialMagnification''fit'으로 설정되어 있으며 변경할 수 없습니다.

예: h = imshow(I,'InitialMagnification','fit');

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

영상을 스케일링할 때 사용되는 보간 기법으로, 'Interpolation'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

설명
'nearest'최근접이웃 보간(디폴트 값). (x, y)에 위치한 픽셀의 값은 원본 영상에서 (x, y)에 가장 가까운 픽셀의 값입니다.
'bilinear'쌍선형 보간. (x, y)에 위치한 픽셀의 값은 원본 영상에서 주변 픽셀의 가중 평균입니다.

보간 기법은 초기 배율에 적용되며 표시된 영상을 확대하거나 축소할 때 적용됩니다.

image 객체의 부모 axes로, 'Parent'와 함께 Axes 객체 또는 UIAxes 객체가 쉼표로 구분되어 지정됩니다. 'Parent' 이름-값 인수를 사용하여, FigureAxes 속성을 제어할 수 있는 UI를 작성합니다.

서브샘플링 영상에 대한 표시자로, 'Reduce'와 함께 true, false, 1, 0 중 하나가 쉼표로 구분되어 지정됩니다. 이 인수는 TIFF 파일의 이름과 함께 사용할 경우에만 유효합니다. Reduce 인수를 사용하면 매우 큰 영상을 개략적으로 표시할 수 있습니다.

데이터형: logical

디폴트가 아닌 좌표계의 x축 제한으로, 'XData'와 함께 요소를 2개 가진 벡터가 쉼표로 구분되어 지정됩니다. 이 인수는 영상 XData를 지정하여 디폴트가 아닌 공간 좌표계를 설정합니다. 값은 3개 이상의 요소를 가질 수 있지만, imshow는 첫 번째 요소와 마지막 요소만 사용합니다.

예: 'XData',[100 200]

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

디폴트가 아닌 좌표계의 y축 제한으로, 'YData'와 함께 요소를 2개 가진 벡터가 쉼표로 구분되어 지정됩니다. 값은 3개 이상의 요소를 가질 수 있지만, imshow는 첫 번째 요소와 마지막 요소만 사용합니다.

예: 'YData',[100 200]

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

출력 인수

모두 축소

imshow에서 생성된 영상으로, image 객체로 지정됩니다.

  • 영상을 생성한 후 컬러맵을 변경하려면 colormap 명령을 사용하십시오. 영상이 속한 좌표축을 첫 번째 입력 인수로 지정하고, 사용할 컬러맵을 두 번째 입력 인수로 지정합니다. 예제는 표시된 영상의 컬러맵 변경하기 항목을 참조하십시오.

  • imshowtiledlayout 함수 및 nexttile 함수와 함께 사용하여 서로 다른 컬러맵을 사용하는 여러 영상을 같은 Figure에 표시할 수 있습니다.

  • imshow를 호출한 후에 hold on 명령을 사용하여, imshow로 만들어진 좌표축 위에 좌표축을 만들 수 있습니다.

  • Image Processing Toolbox™가 설치되어 있는 경우, 영상을 표시하고 일반 영상 처리 작업을 수행하기 위한 통합 환경으로 영상 뷰어 앱을 사용할 수 있습니다.

  • Image Processing Toolbox가 설치되어 있는 경우 iptsetpref 함수를 사용하여, imshow의 동작을 수정하는 툴박스 기본 설정을 지정할 수 있습니다.

  • -nojvm 옵션을 사용하여 MATLAB을 시작할 경우에는 imshow 함수가 지원되지 않습니다.

확장 기능

참고 항목

| | | | |

도움말 항목

R2006a 이전에 개발됨