주요 콘텐츠

Figure 창에 영상 표시하기

개요

imshow 함수는 2차원 영상의 기본적인 표시에 적합합니다. R2024b부터는 imageshow 함수를 사용하여 2차원 영상을 표시할 수도 있습니다. 두 함수 모두 Figure 창에 영상을 표시할 수 있지만, 응용 분야에 따라 더 적합한 함수를 고를 수 있게 해주는 몇 가지 주요 차이점이 있습니다.

imshow에는 다음과 같은 이점이 있습니다.

  • 좌표축 내에 영상을 표시하며, MATLAB® 그래픽스 함수를 사용하여 사용자 지정할 수 있습니다. 예를 들어 tiledlayout을 사용하여 여러 영상을 함께 표시하거나 제목, 좌표축 레이블, 데이터팁과 같은 주석을 추가할 수 있습니다.

  • 기본 메뉴와 도구 모음이 있는 Figure 창에 영상을 표시하며, Figure에서 영상을 저장하거나 인쇄하는 것과 같은 일반적인 작업을 수행할 수 있습니다.

imageshow 함수에는 다음과 같은 이점이 있습니다.

  • 특히 중형 및 대형 영상과 MATLAB Online™에서의 향상된 렌더링 품질, 빠른 성능, 매끄러운 확대/축소, 패닝 사용을 위해 설계되었습니다.

  • 메모리에 저장하기에 너무 큰 파일 기반 영상을 비롯하여, 숫자형 배열이나 블록 형식 영상으로 저장된 영상 데이터를 표시할 수 있습니다.

  • 확대하면 표시되는 영상이 Figure 창을 가득 채워 imshow에 비해 화면을 더 많이 사용합니다.

참고

라이브 편집기에서 영상을 표시하면 해당 라이브 스크립트 출력에 Figure가 포함됩니다. Figure를 별도의 창에서 열려면 라이브 편집기 출력의 오른쪽 위 코너에 있는 Figure 창에서 열기 버튼 Open in figure window button을 클릭하십시오.

imshow를 사용하여 영상 표시하기

영상을 작업 공간으로 읽어 들여 imshow 함수를 사용하여 표시합니다.

moon = imread("moon.tif");
imshow(moon)

Grayscale image in a figure window

표시할 영상을 파일 이름으로 지정할 수도 있습니다. 단, 이 구문은 작업 공간에 영상 데이터를 저장하지 않습니다. 영상을 작업 공간으로 가져오려면 현재 image 객체에서 영상 데이터를 가져오는 getimage 함수를 사용해야 합니다.

imshow("moon.tif");

툴박스에서 지원하는 다양한 영상 유형을 imshow를 사용하여 표시하는 방법에 대한 자세한 내용은 Display Different Image Types 항목을 참조하십시오.

초기 영상 배율 지정하기

기본적으로, imshow는 영상 전체를 100% 배율(각 영상 픽셀당 하나의 화면 픽셀)로 표시하려고 시도합니다. 그러나 영상이 화면의 Figure 창에 100% 배율로 표시되기에 너무 큰 경우 imshow는 화면에 맞게 영상을 스케일링하고 경고 메시지를 발생시킵니다.

imshow에 대한 호출의 초기 디폴트 배율 동작을 재정의하려면 InitialMagnification 파라미터를 지정하십시오. 예를 들어, 영상을 150% 배율로 보려면 다음 코드를 사용합니다.

pout = imread("pout.tif");
imshow(pout,InitialMagnification=150)

imshow는 지정된 배율을 적용하려고 시도합니다. 그러나 영상을 지정된 배율로 화면에 표시할 수 없는 경우 imshow는 화면에 맞게 영상을 스케일링합니다. 초기 배율 값으로 "fit"을 지정할 수도 있습니다. 이 경우 imshow는 영상이 Figure 창의 현재 크기에 맞도록 스케일링합니다.

imshow의 초기 디폴트 배율 동작을 변경하려면 ImshowInitialMagnification 툴박스 기본 설정을 지정하십시오. 기본 설정을 지정하려면 iptprefs를 호출하여 Image Processing Toolbox™ 기본 설정 대화 상자를 열거나, MATLAB 탭의 환경 섹션에서 기본 설정을 클릭하십시오.

imshow가 영상을 스케일링할 때는 보간을 사용하여 영상 행렬의 요소에 직접 대응되지 않는 화면 픽셀의 값을 결정합니다. imshow는 기본적으로 최근접이웃 보간을 사용하지만 Interpolation 이름-값 인수를 설정하여 쌍선형 보간을 사용하도록 지정할 수 있습니다.

Figure의 모양 제어하기

기본적으로, imshow는 Figure에 영상을 표시할 때 영상 주위에 회색 테두리를 표시합니다. 이 디폴트 동작을 변경하여 테두리가 표시되지 않도록 하려면 다음 예제에 표시된 대로 "Border" 이름-값 인수를 사용할 수 있습니다.

imshow("moon.tif",Border="tight")

다음 그림은 동일한 영상이 테두리와 함께 표시된 경우와 테두리 없이 표시된 경우를 보여줍니다.

Grayscale image in a figure window with a gray border surrounding the image.

"Border" 인수는 imshow에 대한 호출에서 표시되는 영상에만 영향을 줍니다. imshow를 사용하여 표시하는 모든 영상이 회색 테두리 없이 표시되도록 하려면 Image Processing Toolbox의 "ImshowBorder" 기본 설정을 "tight"로 설정하십시오. 기본 설정을 사용하여 Figure에 좌표축을 포함할 수도 있습니다. 기본 설정에 대한 자세한 내용은 iptprefs를 참조하십시오.

imageshow를 사용하여 영상 표시하기

다음 예제에서는 같은 영상을 작업 공간으로 읽어 들인 후 imageshow 함수를 사용하여 Figure 창에 영상을 표시합니다.

moon = imread("moon.tif");
imageshow(moon)

Grayscale image displayed using imageshow

imshow와 유사하게, 표시할 영상을 파일 이름으로 지정할 수도 있습니다.

imageshow("moon.tif");

imageshow 함수는 영상을 뷰어 창에 표시합니다. 영상 확대/축소 수준은 뷰어의 오른쪽 아래 코너에 표시됩니다. 표시되는 영상의 크기를 늘리려면 뷰어를 최대화하거나 뷰어의 가장자리를 수동으로 끌어서 창을 확장합니다. 마우스 스크롤 휠이나 도구 모음의 확대/축소 버튼을 사용하여 확대하면 영상이 뷰어 창을 가득 채우도록 확장됩니다. 축척 막대가 업데이트되어 현재 확대/축소 수준이 표시됩니다.

Grayscale image in an enlarged viewer window and zoomed in

낮은 확대/축소 수준과 높은 확대/축소 수준에서 렌더링 품질을 최적화하기 위해 영상 보간 방법이 자동으로 변경됩니다. 낮은 확대/축소 수준에서는 영상 데이터의 한 픽셀이 10개 미만의 화면 픽셀에 걸쳐 있으면 영상이 쌍선형 보간을 사용하여 표시됩니다. 하나의 영상 데이터 픽셀이 10개보다 많은 화면 픽셀에 걸쳐 있으면 영상이 최근접이웃 보간을 사용하여 표시됩니다. Interpolation 이름-값 인수를 사용하여 보간을 수동으로 변경할 수 있습니다.

Animation showing the impact of image zoom level on the display interpolation method

참고 항목

| |

도움말 항목