Main Content

imagesc

스케일링된 색으로 이미지 표시

설명

예제

imagesc(C)는 배열 C의 데이터를 컬러맵의 전체 색 범위를 사용하는 이미지로 표시합니다. C의 각 요소는 이미지의 한 픽셀에 대한 색을 지정합니다. 결과 이미지는 m×n 그리드의 픽셀입니다. 여기서 mC의 행 개수이고 n은 열 개수입니다. 요소의 행과 열 인덱스에 따라 해당하는 픽셀의 중심이 결정됩니다.

예제

imagesc(x,y,C)는 이미지 위치를 지정합니다. xy를 사용하여 C(1,1)C(m,n)에 해당하는 코너의 위치를 지정할 수 있습니다. 두 코너를 모두 지정하려면 xy를 요소를 2개 가진 벡터로 설정해야 합니다. 첫 번째 코너를 지정한 후 imagesc에 의해 나머지 코너가 지정되도록 하려면 xy를 스칼라 값으로 설정하십시오. 이미지가 적절하게 늘어나고 방향이 설정됩니다.

imagesc('CData',C)는 기존 플롯을 바꾸지 않고 현재 좌표축에 이미지를 추가합니다. 이 구문은 imagesc(C)의 로우 레벨 버전입니다. 자세한 내용은 하이 레벨 버전과 로우 레벨 버전 비교 항목을 참조하십시오.

imagesc('XData',x,'YData',y,'CData',C)는 이미지 위치를 지정합니다. 이 구문은 imagesc(x,y,C)의 로우 레벨 버전입니다.

imagesc(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 image 속성을 지정합니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이름-값 쌍 인수를 지정할 수 있습니다. image 속성과 설명 목록을 보려면 Image 속성를 참조하십시오.

예제

imagesc(___,clims)는 컬러맵의 첫 번째 요소와 마지막 요소에 매핑되는 데이터 값을 지정합니다. clims[cmin cmax] 형식의, 요소를 2개 가진 벡터로 지정합니다. 여기서 cmin보다 작거나 같은 값은 컬러맵의 첫 번째 색에 매핑되고, cmax보다 크거나 같은 값은 컬러맵의 마지막 색에 매핑됩니다. 이름-값 쌍 인수 뒤에 clims를 지정하십시오.

imagesc(ax,___)는 현재 좌표축(gca) 대신 ax로 지정된 좌표축에 이미지를 생성합니다. 좌표축을 첫 번째 입력 인수로 지정합니다.

예제

im = imagesc(___)는 생성된 Image 객체를 반환합니다. im을 사용하면 이미지가 생성된 후에 이미지의 속성을 설정할 수 있습니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이 출력값을 지정할 수 있습니다.

예제

모두 축소

행렬 C를 생성합니다. C의 데이터에 대한 이미지를 표시합니다. 그래프에 컬러바를 추가하여 현재 컬러맵을 표시합니다. 기본적으로, imagesc는 이미지가 컬러맵의 전체 범위를 사용하도록 색 제한을 스케일링합니다. 여기서 C의 가장 작은 값은 컬러맵의 첫 번째 색에 매핑되고, 가장 큰 값은 마지막 색에 매핑됩니다.

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(C)
colorbar

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

이미지를 x축의 5와 8 사이, 그리고 y축의 3과 6 사이에 놓이도록 배치합니다.

x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(x,y,C)

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

C(1,1)에 대응하는 픽셀은 점 (5,3)을 중심으로 합니다. C(3,4)에 대응하는 픽셀은 점 (8,6)을 중심으로 합니다. imagesc는 이 두 점 사이에서 나머지 이미지의 위치와 방향을 지정합니다.

데이터 값으로 구성된 배열로 C를 생성합니다. C의 이미지를 생성하고 4 이하의 값은 컬러맵의 첫 번째 색에 매핑되고 18 이상의 값은 컬러맵의 마지막 색에 매핑되도록 색 제한을 설정합니다. 컬러바를 표시하여 데이터 값이 컬러맵에 매핑되는 방법을 표시합니다.

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
clims = [4 18];
imagesc(C,clims)
colorbar

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

이미지를 생성하고 image 객체 im을 반환합니다. 그런 다음, image 객체의 AlphaData 속성을 설정하여 이미지를 반투명으로 설정합니다.

C = [1 2 3; 4 5 6; 7 8 9];
im = imagesc(C);

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

im.AlphaData = .5;

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

곡면 플롯을 만듭니다. 그런 다음, 곡면 아래에 이미지를 추가합니다. imagesc는 xy 평면에 이미지를 표시합니다.

Z = 10 + peaks;
surf(Z)
hold on
imagesc(Z)

Figure contains an axes object. The axes object contains 2 objects of type surface, image.

입력 인수

모두 축소

이미지 색 데이터로, 벡터 또는 행렬로 지정됩니다. C의 각 요소는 이미지의 한 픽셀에 대한 색을 정의합니다. C의 요소는 연관 좌표축 컬러맵의 색에 매핑됩니다. C에서 가장 작은 값은 컬러맵의 첫 번째 색에 매핑되고, 가장 큰 값은 마지막 색에 매핑됩니다. NaN 요소의 동작은 정의되어 있지 않습니다.

참고

Cm×n×3 배열로 지정할 경우 imagesc 함수는 이미지를 트루컬러 (RGB) 이미지로 해석합니다. imagesc는 트루컬러 이미지의 픽셀 값을 다시 스케일링하지 않습니다. imagesc를 호출하기 전에 rescale 함수를 사용하여 트루컬러 픽셀 값을 스케일링하십시오.

imagesc 함수의 로우 레벨 버전을 대신 사용하려면 CData 속성을 이름-값 쌍으로 설정하십시오. 예를 들면 imagesc('CData',C)와 같습니다.

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

x축 상에서의 위치로, 다음 형식 중 하나로 지정됩니다.

  • 요소를 2개 가진 벡터 — 첫 번째 요소를 C(1,1)의 중심 위치로 사용하고 두 번째 요소를 C(m,n)의 중심 위치로 사용합니다. 여기서 [m,n] = size(C)입니다. C가 3차원 배열이면 mn은 처음 두 차원이 됩니다. C의 나머지 요소의 중심을 이 두 점 사이에 균일하게 분포시킵니다.

    각 픽셀의 너비는 다음 표현식으로 결정됩니다.

    (x(2)-x(1))/(size(C,2)-1)

    x(1) > x(2)이면 이미지의 좌우가 뒤집어집니다.

  • 스칼라 — C(1,1)의 중심을 이 위치에 지정하고, 그 다음 요소부터는 한 단위 간격으로 중심을 지정합니다.

참고

  • x에 3개 이상의 요소가 있는 경우 imagesc는 첫 번째 요소와 마지막 요소를 사용하고 다른 요소는 무시합니다.

  • imagesc 함수의 로우 레벨 버전을 대신 사용하려면 이름-값 인수를 사용하여 XData 속성을 설정하십시오. 예를 들면 imagesc('XData',x,'YData',y,'CData',C)와 같습니다.

  • 축 제한이 이미지 경계 바깥에 미리 설정되어 있지 않으면 이미지의 x축 제한 또는 y축 제한 바깥으로 확대/축소 또는 패닝을 대화형 방식으로 실행할 수 없습니다. 경계 바깥에 이미 제한이 설정되어 있으면 언제든 대화형 방식으로 확대/축소 또는 패닝을 할 수 있습니다. 다른 객체(예: line)가 좌표축을 차지하고 이미지의 경계를 넘어 확장하는 경우, 다른 객체의 경계까지 확대/축소나 패닝이 가능하지만 경계를 넘을 수는 없습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime (R2023b 이후) | duration (R2023b 이후) | categorical (R2023b 이후)

y축 상에서의 위치로, 다음 형식 중 하나로 지정됩니다.

  • 요소를 2개 가진 벡터 — 첫 번째 요소를 C(1,1)의 중심 위치로 사용하고 두 번째 요소를 C(m,n)의 중심 위치로 사용합니다. 여기서 [m,n] = size(C)입니다. C가 3차원 배열이면 mn은 처음 두 차원이 됩니다. C의 나머지 요소의 중심을 이 두 점 사이에 균일하게 분포시킵니다.

    각 픽셀의 높이는 다음 표현식으로 결정됩니다.

    (y(2)-y(1))/(size(C,1)-1)

    y(1) > y(2)이면 이미지의 상하가 뒤집어집니다.

  • 스칼라 — C(1,1)의 중심을 이 위치에 지정하고, 그 다음 요소부터는 한 단위 간격으로 중심을 지정합니다.

참고

  • y에 3개 이상의 요소가 있는 경우 imagesc는 첫 번째 요소와 마지막 요소를 사용하고 다른 요소는 무시합니다.

  • imagesc 함수의 로우 레벨 버전을 대신 사용하려면 이름-값 인수를 사용하여 YData 속성을 설정하십시오. 예를 들면 imagesc('XData',x,'YData',y,'CData',C)와 같습니다.

  • 축 제한이 이미지 경계 바깥에 미리 설정되어 있지 않으면 이미지의 x축 제한 또는 y축 제한 바깥으로 확대/축소 또는 패닝을 대화형 방식으로 실행할 수 없습니다. 경계 바깥에 이미 제한이 설정되어 있으면 언제든 대화형 방식으로 확대/축소 또는 패닝을 할 수 있습니다. 다른 객체(예: line)가 좌표축을 차지하고 이미지의 경계를 넘어 확장하는 경우, 다른 객체의 경계까지 확대/축소나 패닝이 가능하지만 경계를 넘을 수는 없습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime (R2023b 이후) | duration (R2023b 이후) | categorical (R2023b 이후)

색 제한으로, [cmin cmax] 형식의, 요소를 2개 가진 벡터로 지정됩니다. 여기서 cmaxcmin보다 큽니다. C에서 cmin보다 작거나 같은 값은 컬러맵의 첫 번째 색에 매핑됩니다. cmax보다 크거나 같은 값은 컬러맵의 마지막 색에 매핑됩니다. cmincmax 사이의 값은 현재 컬러맵에 선형적으로 매핑됩니다.

색 제한을 지정하면 imagesc 함수가 좌표축의 CLim 속성을 지정된 값으로 설정합니다. 색 제한을 지정하지 않으면 imagesc가 좌표축의 CLim 속성을 C의 최솟값과 최댓값으로 설정합니다.

Axes 객체. Axes 객체를 지정하지 않으면 imagesc는 현재 좌표축을 사용합니다.

이름-값 인수

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

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

예: imagesc([1 2 3],'AlphaData',0.5)는 반투명 이미지를 표시합니다.

여기에 나와 있는 속성은 image 속성의 일부에 불과합니다. 전체 목록을 보려면 Image 속성를 참조하십시오.

투명도 데이터로, 다음 형식 중 하나로 지정됩니다.

  • 스칼라 — 전체 이미지에 걸쳐 일관된 투명도를 사용합니다.

  • CData와 동일한 크기의 배열 — 각 이미지 요소에 대해 다른 투명도 값을 사용합니다.

AlphaDataMapping 속성은 MATLAB®이 알파 데이터 투명도 값을 해석하는 방법을 제어합니다.

예: 0.5

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

AlphaData 값의 해석 방식으로, 다음 값 중 하나로 지정됩니다.

  • 'none' — 값을 투명도 값으로 해석합니다. 1 이상의 값은 완전히 불투명하고, 0 이하의 값은 완전히 투명하며, 0과 1 사이의 값은 반투명합니다.

  • 'scaled' — 값을 Figure의 알파맵에 매핑합니다. 좌표축의 최소 알파 제한 및 최대 알파 제한에 따라 알파맵의 첫 번째 요소와 마지막 요소에 각각 매핑되는 알파 데이터 값이 결정됩니다. 예를 들어, 알파 제한이 [3 5]이면 3보다 작거나 같은 알파 데이터 값이 알파맵의 첫 번째 요소에 매핑됩니다. 5보다 크거나 같은 알파 데이터 값은 알파맵의 마지막 요소에 매핑됩니다. 좌표축의 ALim 속성에는 알파 제한이 포함됩니다. Figure의 Alphamap 속성에는 알파맵이 포함됩니다.

  • 'direct' — 값을 Figure의 알파맵에 대한 인덱스로 해석합니다. 소수부를 포함하는 값은 가장 가까운 더 작은 정수로 고정됩니다.

    • 값이 double형이거나 single형인 경우 1 이하의 값은 알파맵의 첫 번째 요소에 매핑됩니다. 알파맵의 길이보다 크거나 같은 값은 알파맵의 마지막 요소에 매핑됩니다.

    • 값이 정수형인 경우 0 이하의 값은 알파맵의 첫 번째 요소에 매핑됩니다. 알파맵의 길이보다 크거나 같은 값은 알파맵의 마지막 요소 또는 유형의 범위 제한에 매핑됩니다. 정수형은 uint8, uint16, uint32, uint64 , int8, int16, int32, int64입니다.

    • 값이 logical형인 경우 값 0은 알파맵의 첫 번째 요소에 매핑되고 값 1은 알파맵의 두 번째 요소에 매핑됩니다.

출력 인수

모두 축소

Image 객체. im을 사용하면 이미지가 생성된 후에 이미지의 속성을 설정할 수 있습니다. 목록을 보려면 Image 속성를 참조하십시오.

세부 정보

모두 축소

하이 레벨 버전과 로우 레벨 버전 비교

imagesc 함수는 하이 레벨 버전과 로우 레벨 버전의 두 가지 버전이 있습니다. 'CData'를 입력 인수로 하여 imagesc를 사용하면 로우 레벨 버전을 사용하는 것입니다. 그렇지 않으면 하이 레벨 버전을 사용하는 것입니다.

imagesc의 하이 레벨 버전은 플로팅 전에 newplot을 호출하고 다음과 같은 axes 속성을 설정합니다.

  • Layer'top'으로 설정. 이미지가 눈금 또는 그리드 선 앞쪽에 표시됩니다.

  • YDir'reverse'로 설정. y축의 값이 위쪽에서 아래쪽으로 증가합니다. 값이 위쪽에서 아래쪽으로 감소하도록 하려면 YDir'normal'로 설정하십시오. 이 설정은 y축과 이미지를 모두 반대로 뒤집습니다.

  • View[0 90]으로 설정.

imagesc 함수의 로우 레벨 버전은 newplot을 호출하지 않으며 위와 같은 axes 속성을 설정하지 않습니다.

두 버전 모두, imagesc 함수는 다음과 같이 설정합니다.

  • Image 객체의 CData 속성을 C의 값으로 설정합니다.

  • Image 객체의 CDataMapping 속성을 'scaled'로 설정합니다.

  • clims 입력 인수를 지정하지 않은 경우 Axes 객체의 CLim 속성을 C의 최솟값과 최댓값으로 설정합니다.

  • TIFF와 같은 다양한 표준 형식의 그래픽스 파일의 이미지 데이터를 MATLAB으로 읽어 들이려면 imread를 사용하십시오. MATLAB 이미지 데이터를 그래픽스 파일에 쓰려면 imwrite를 사용하십시오. imread 함수와 imwrite 함수는 다양한 그래픽스 파일 형식과 압축 방식을 지원합니다.

  • 좌표축의 색 제한을 보거나 설정하려면 clim 함수를 사용하면 됩니다.

    R2022a 이전: clim과 동일한 구문과 인수를 가지는 caxis를 사용하십시오.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

함수

속성

도움말 항목