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를 표시합니다.

예제

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(트루컬러) 영상, 회색조 영상, 이진 영상 또는 인덱스 영상을 표시합니다.

RGB 영상 표시하기

샘플 RGB 영상 peppers.png를 MATLAB 작업 공간으로 읽어 들입니다.

rgbImage = imread("peppers.png");

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

imshow(rgbImage)

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

회색조 영상 표시하기

rgb2gray 함수를 사용하여 RGB 영상을 회색조 영상으로 변환합니다.

grayImage = rgb2gray(rgbImage);

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

imshow(grayImage)

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

이진 영상 표시하기

이진화를 사용하여 회색조 영상을 이진 영상으로 변환합니다.

meanVal = mean(grayImage,"all");
binaryImage = grayImage >= meanVal;

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

imshow(binaryImage)

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

인덱스 영상 표시하기

샘플 인덱스 영상 corn.tif를 MATLAB 작업 공간으로 읽어 들입니다.

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

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

imshow(corn_indexed,map)

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

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

imshow('peppers.png');

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

샘플 회색조 볼륨 영상 mri.mat를 작업 공간에 변수 D로 불러옵니다. squeeze 함수를 사용하여 볼륨의 한원소 차원을 제거합니다.

load("mri.mat");
vol = squeeze(D);

볼륨에서 가운데 부분의 슬라이스를 선택합니다. copper 컬러맵을 사용하고 표시 범위를 픽셀 값의 범위로 스케일링하여 슬라이스를 표시합니다.

sliceZ = vol(:,:,13);
imshow(sliceZ,[],Colormap=copper)

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

colormap 함수를 사용하여 영상의 컬러맵을 변경합니다.

colormap(hot)

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

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

RGB = imread('peppers.png');

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

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

Figure contains an axes object. The axes object 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 object. The axes object contains an object of type image.

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

imshow(edgeG,[])

Figure contains an axes object. The axes object 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 object. The axes object contains an object of type image.

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

imshow(corn_detail,'InitialMagnification',1000)

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

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

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

Figure contains an axes object. The axes object 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

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

데이터형: single | double | uint8

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

예: 'peppers.png'

데이터형: char

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

예: [50 250]

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

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

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

이름-값 인수

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

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

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

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

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

데이터형: char

좌표축의 컬러맵으로, 'Colormap'과 함께 [0, 1] 범위의 값으로 구성된 c×3 행렬이 쉼표로 구분되어 지정됩니다. 행렬의 각 행은 컬러맵의 하나의 색에 대한 빨간색, 녹색, 파란색 성분을 지정하는, 요소를 3개 가진 RGB 3색입니다. 이 인수를 사용하여 회색조 영상을 가색상(false color)으로 볼 수 있습니다. 빈 컬러맵([])을 지정할 경우 imshow 함수는 이 인수를 무시합니다.

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

데이터형: 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' 파라미터를 지정해야 합니다.

예: 'DisplayRange',[10 250]

데이터형: 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'으로 설정되어 있으며 변경할 수 없습니다.

예: 'InitialMagnification',80

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

보간 방법으로, 'nearest' 또는 'bilinear'로 지정됩니다.MATLAB에서는 보간을 사용하여 스케일된 영상을 화면에 표시합니다. 선택한 값은 영상 데이터에 영향을 주지 않습니다. 영상 내용 및 얻고자 하는 효과를 기준으로 보간 방법을 선택하십시오.

  • 'nearest' — 최근접이웃 보간입니다. (x, y)에 위치한 픽셀의 값은 원래 영상에서 (x, y)에 가장 가까운 픽셀의 값입니다. 이 방법은 서로 다른 범주를 나타내는 적은 수의 픽셀 값이 있거나 크게 확대된 보기에서 개별적인 픽셀을 보고 싶을 때 가장 효과적입니다.

  • 'bilinear' — 쌍선형 보간입니다. (x, y)에 위치한 픽셀의 값은 원래 영상에서 주변 픽셀의 가중 평균입니다. 디스플레이 아티팩트를 최소화하기 위해 imshow 함수는 영상을 축소할 때 안티에일리어싱을 수행합니다. 이 방법은 거의 모든 기타 상황에서 가장 효과적입니다.

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로 만들어진 좌표축 위에 좌표축을 만들 수 있습니다.

  • 영상을 표시하고 일반적인 영상 처리 작업을 수행하기 위한 통합 환경으로 영상 뷰어 앱을 사용할 수 있습니다.

  • iptsetpref 함수를 사용하여, imshow의 동작을 수정하는 Image Processing Toolbox™ 기본 설정을 지정할 수 있습니다.

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

확장 기능

버전 내역

R2006a 이전에 개발됨