image
배열로부터 이미지 표시
구문
설명
image(
는 배열 C
)C
의 데이터를 이미지로 표시합니다. C
의 각 요소는 이미지의 한 픽셀에 대한 색을 지정합니다. 결과 이미지는 m
×n
그리드의 픽셀입니다. 여기서 m
은 C
의 행 개수이고 n
은 열 개수입니다. 요소의 행과 열 인덱스에 따라 해당하는 픽셀의 중심이 결정됩니다.
image('CData',
는 기존 플롯을 바꾸지 않고 현재 좌표축에 이미지를 추가합니다. 이 구문은 C
)image(C)
의 로우 레벨 버전입니다. 자세한 내용은 이미지의 하이 레벨 버전과 로우 레벨 버전 비교 항목을 참조하십시오.
image(___,
는 하나 이상의 이름-값 쌍의 인수를 사용하여 image 속성을 지정합니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 image 속성을 지정할 수 있습니다.Name,Value
)
image(
는 현재 좌표축(ax
,___)gca
) 대신 ax
로 지정된 좌표축에 이미지를 생성합니다. 옵션 ax
는 위에 열거된 구문의 입력 인수 조합보다 먼저 나올 수 있습니다.
예제
행렬 데이터의 이미지 표시
행렬 C
를 생성합니다. C
의 데이터에 대한 이미지를 표시합니다. 컬러바를 그래프에 추가하여 현재 컬러맵을 표시합니다.
C = [0 2 4 6; 8 10 12 14; 16 18 20 22]; image(C) colorbar
기본적으로, 이미지의 CDataMapping
속성은 'direct'
로 설정되어 있으므로 image
는 C
의 값을 컬러맵에 대한 인덱스로 해석합니다. 예를 들어, C
의 마지막 요소인 22에 대응하는 오른쪽 맨 아래 픽셀은 컬러맵의 22번째 색을 사용합니다.
이미지를 만들 때 CDataMapping
속성을 'scaled'
로 설정하면 현재 컬러맵의 전체 범위에 맞게 값을 스케일링할 수 있습니다.
image(C,'CDataMapping','scaled') colorbar
또는 image(C,'CDataMapping','scaled')
를 사용하는 대신 imagesc
함수를 사용하여 값을 스케일링할 수 있습니다. 예를 들어, imagesc(C)
를 사용합니다.
이미지 배치 제어
이미지를 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]; image(x,y,C)
C(1,1)에 해당하는 픽셀은 점 (5,3)을 중심으로 합니다. C(3,4)에 대응하는 픽셀은 점 (8,6)을 중심으로 합니다. image
는 이 두 점 사이에서 나머지 이미지의 위치와 방향을 지정합니다.
트루컬러로 구성된 3차원 배열의 이미지 표시
C
를 트루컬러로 구성된 3차원 배열로 만듭니다. 배열의 마지막 두 페이지를 0으로 설정하여 빨간색만 사용합니다.
C = zeros(3,3,3); C(:,:,1) = [.1 .2 .3; .4 .5 .6; .7 .8 .9]
C = C(:,:,1) = 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 C(:,:,2) = 0 0 0 0 0 0 0 0 0 C(:,:,3) = 0 0 0 0 0 0 0 0 0
C
의 데이터에 대한 이미지를 표시합니다.
image(C)
생성 후에 이미지 수정
선을 플로팅한 다음 선 위에 이미지를 생성합니다. image 객체를 반환합니다.
plot(1:3)
hold on
C = [1 2 3; 4 5 6; 7 8 9];
im = image(C);
이미지를 반투명하게 만들어 선이 이미지를 통과하여 표시되도록 합니다.
im.AlphaData = 0.5;
JPEG 이미지 파일 읽어 들이기 및 표시
JPEG 이미지 파일을 읽어 들입니다.
C = imread('ngc6543a.jpg');
imread
는 650×600×3 배열 C
를 반환합니다.
이미지를 표시합니다.
image(C)
3차원 보기의 좌표축에 이미지 추가
곡면 플롯을 만듭니다. 그런 다음, 곡면 아래에 이미지를 추가합니다. image
는 xy 평면에 이미지를 표시합니다.
Z = 10 + peaks; surf(Z) hold on image(Z,'CDataMapping','scaled')
입력 인수
C
— 이미지 색 데이터
벡터 또는 행렬 | RGB 3색으로 구성된 3차원 배열
이미지 색 데이터로, 다음 형식 중 하나로 지정됩니다.
벡터 또는 행렬 — 이 형식은 인덱스 이미지 데이터를 정의합니다.
C
의 각 요소는 이미지의 한 픽셀에 대한 색을 정의합니다. 예를 들면C = [1 2 3; 4 5 6; 7 8 9];
와 같습니다.C
의 요소는 연관 좌표축 컬러맵의 색에 매핑됩니다.CDataMapping
속성으로 매핑 방법을 제어합니다.RGB 3색으로 구성된 3차원 배열 — 이 형식은 RGB 3색 값을 사용하여 트루컬러 이미지 데이터를 정의합니다. 각 RGB 3색은 이미지의 한 픽셀에 대한 색을 정의합니다. RGB 3색은 요소를 3개 가진 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 3차원 배열의 첫 페이지에는 빨간색 성분이 포함되고, 두 번째 페이지에는 녹색 성분이 포함되며, 세 번째 페이지에는 파란색 성분이 포함됩니다. 이미지는 컬러맵 색 대신 트루컬러를 사용하기 때문에
CDataMapping
속성은 아무 영향을 미치지 않습니다.C
가double
형인 경우, RGB 3색 값[0 0 0]
은 검은색에 해당하고[1 1 1]
은 흰색에 해당합니다.C
가 정수형인 경우 이미지는 전체 데이터 범위를 사용하여 색을 지정합니다. 예를 들어,C
가uint8
형인 경우,[0 0 0]
은 검은색에 해당하고[255 255 255]
는 흰색에 해당합니다.CData
가int8
형이면[-128 -128 -128]
이 검은색에 해당하고[127 127 127]
은 흰색에 해당합니다.C
가logical
형이면[0 0 0]
이 검은색에 해당하고[1 1 1]
은 흰색에 해당합니다.
다음 그림은 두 가지 색상 모델에 대한 C
의 상대적 크기를 보여줍니다.
NaN
요소의 동작은 정의되어 있지 않습니다.
image
함수의 로우 레벨 버전을 대신 사용하려면 CData
속성을 이름-값 쌍으로 설정하십시오. 예를 들면 image('CData',C)
와 같습니다.
double
형과 정수 데이터형 간 변환
벡터 또는 2차원 행렬로 image
함수를 호출하고 디폴트 CDataMapping
값을 사용하는 경우, double
값과 정수형 간에 변환할 때 데이터 값을 1만큼 오프셋해야 합니다. CDataMapping
이 'scaled'
로 설정된 경우에는 이 오프셋이 필요하지 않습니다.
예를 들어, U8
이 uint8
형의 인덱스 이미지 데이터를 포함하는 경우 다음 식을 사용하여 double
형으로 변환할 수 있습니다.
D = double(U8) + 1;
인덱스 이미지 데이터를 double
형에서 정수형으로 변환하려면 1을 뺀 다음 round
를 사용하여 모든 값이 정수가 되도록 해야 합니다. 예를 들어, D
가 double
형의 인덱스 이미지 데이터를 포함하는 경우 다음 식을 사용하여 uint8
형으로 변환할 수 있습니다.
U8 = uint8(round(D - 1));
정규화된 double
형과 트루컬러 값 간 변환
트루컬러 이미지 데이터를 정수형에서 double
형으로 변환하려면 데이터를 다시 스케일링해야 합니다. 예를 들어, RGB8
가 uint8
형의 트루컬러 이미지 데이터인 경우 다음 식을 사용하여 double
형으로 변환할 수 있습니다.
RGB = double(RGB8)/255;
트루컬러 이미지 데이터를 double
형에서 정수형으로 변환하려면 데이터를 다시 스케일링한 다음 round
를 사용하여 모든 값이 정수가 되도록 해야 합니다. 예를 들어, RGB
가 double
형의 이미지 데이터인 경우 다음 식을 사용하여 uint8
형으로 변환할 수 있습니다.
RGB8 = uint8(round(RGB*255));
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
x
— x축 상의 위치
[1 size(C,2)]
(디폴트 값) | 요소를 2개 가진 벡터 | 스칼라
x축 상에서의 위치로, 다음 형식 중 하나로 지정됩니다.
요소를 2개 가진 벡터 — 첫 번째 요소를
C(1,1)
의 중심 위치로 사용하고 두 번째 요소를C(m,n)
의 중심 위치로 사용합니다. 여기서[m,n] = size(C)
입니다.C
가 3차원 배열이면m
과n
은 처음 두 차원이 됩니다.C
의 나머지 요소의 중심을 이 두 점 사이에 균일하게 분포시킵니다.각 픽셀의 너비는 다음 표현식으로 결정됩니다.
(x(2)-x(1))/(size(C,2)-1)
x(1)
>x(2)
이면 이미지의 좌우가 뒤집어집니다.스칼라 —
C(1,1)
의 중심을 이 위치에 지정하고, 그 다음 요소부터는 한 단위 간격으로 중심을 지정합니다.
참고
x
에 3개 이상의 요소가 있는 경우image
는 첫 번째 요소와 마지막 요소를 사용하고 다른 요소는 무시합니다.image
함수의 로우 레벨 버전을 대신 사용하려면 이름-값 인수를 사용하여XData
속성을 설정하십시오. 예를 들면image('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
— y축 상의 위치
[1 size(C,1)]
(디폴트 값) | 요소를 2개 가진 벡터 | 스칼라
y축 상에서의 위치로, 다음 형식 중 하나로 지정됩니다.
요소를 2개 가진 벡터 — 첫 번째 요소를
C(1,1)
의 중심 위치로 사용하고 두 번째 요소를C(m,n)
의 중심 위치로 사용합니다. 여기서[m,n] = size(C)
입니다.C
가 3차원 배열이면m
과n
은 처음 두 차원이 됩니다.C
의 나머지 요소의 중심을 이 두 점 사이에 균일하게 분포시킵니다.각 픽셀의 높이는 다음 표현식으로 결정됩니다.
(y(2)-y(1))/(size(C,1)-1)
y(1)
>y(2)
이면 이미지의 상하가 뒤집어집니다.스칼라 —
C(1,1)
의 중심을 이 위치에 지정하고, 그 다음 요소부터는 한 단위 간격으로 중심을 지정합니다.
참고
y
에 3개 이상의 요소가 있는 경우image
는 첫 번째 요소와 마지막 요소를 사용하고 다른 요소는 무시합니다.image
함수의 로우 레벨 버전을 대신 사용하려면 이름-값 인수를 사용하여YData
속성을 설정하십시오. 예를 들면image('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 이후)
ax
— Axes
객체
Axes
객체
Axes
객체. Axes
객체를 지정하지 않으면 image
는 현재 좌표축을 사용합니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: image([1 2 3],'AlphaData',0.5)
는 반투명 이미지를 표시합니다.
여기에 나와 있는 속성은 image 속성의 일부에 불과합니다. 전체 목록을 보려면 Image 속성를 참조하십시오.
CDataMapping
— 색 데이터 매핑 방법
'direct'
(디폴트 값) | 'scaled'
색 데이터 매핑 방법으로, 'direct'
또는 'scaled'
로 지정됩니다. 이 속성을 사용하여 CData
의 색 데이터 값의 컬러맵 매핑을 제어합니다. CData
는 인덱스 색상을 정의하는 벡터 또는 행렬이어야 합니다. CData
가 트루컬러를 정의하는 3차원 배열이면 이 속성은 아무 영향을 미치지 않습니다.
각 방법은 다음과 같은 영향을 미칩니다.
'direct'
— 값을 현재 컬러맵에 대한 인덱스로 해석합니다. 소수부를 포함하는 값은 가장 가까운 더 작은 정수로 고정됩니다.값이
double
형이거나single
형인 경우1
또는 1보다 작은 값은 컬러맵의 첫 번째 색에 매핑됩니다. 컬러맵의 길이보다 크거나 같은 값은 컬러맵의 마지막 색에 매핑됩니다.값이
uint8
형,uint16
형,uint32
형,uint64
형,int8
형,int16
형,int32
형,int64
형 중 하나인 경우0
또는 0 이하의 값은 컬러맵의 첫 번째 색에 매핑됩니다. 컬러맵의 길이보다 크거나 같은 값은 컬러맵의 마지막 색 또는 유형의 범위 제한에 매핑됩니다.값이
logical
형인 경우0
값은 컬러맵의 첫 번째 색에 매핑되고1
값은 컬러맵의 두 번째 색에 매핑됩니다.
'scaled'
— 값을 최소 색 제한과 최대 색 제한 사이의 범위로 스케일링합니다. 좌표축의CLim
속성에는 색 제한이 포함됩니다.
AlphaData
— 투명도 데이터
1
(디폴트 값) | 스칼라 | CData
와 동일한 크기의 배열
투명도 데이터로, 다음 형식 중 하나로 지정됩니다.
스칼라 — 전체 이미지에 걸쳐 일관된 투명도를 사용합니다.
CData
와 동일한 크기의 배열 — 각 이미지 요소에 대해 다른 투명도 값을 사용합니다.
AlphaDataMapping
속성은 MATLAB®이 알파 데이터 투명도 값을 해석하는 방법을 제어합니다.
예: 0.5
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
AlphaDataMapping
— AlphaData
값의 해석 방식
'none'
(디폴트 값) | 'scaled'
| 'direct'
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
함수는 하이 레벨 버전과 로우 레벨 버전의 두 가지 버전이 있습니다. 'CData'
를 입력 인수로 하여 image
를 사용하면 로우 레벨 버전을 사용하는 것입니다. 그렇지 않으면 하이 레벨 버전을 사용하는 것입니다.
image
의 하이 레벨 버전은 플로팅 전에 newplot
을 호출하고 다음과 같은 axes 속성을 설정합니다.
image
함수의 로우 레벨 버전은 newplot
을 호출하지 않으며 위와 같은 axes 속성을 설정하지 않습니다.
팁
확장 기능
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2023b: datetime형, duration형 또는 categorical형 픽셀 좌표를 사용하여 이미지 표시
이제 x
인수와 y
인수를 datetime형, duration형 또는 categorical형 좌표값으로 지정할 수 있습니다. 이전에는 숫자형 좌표값과 논리형 좌표값만 지원했습니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)