imread
그래픽스 파일에서 이미지 읽기
구문
설명
는 위에 열거된 구문에 나와 있는 입력 인수 조합 외에, 이름-값 인수를 하나 이상 사용하여 형식별 옵션을 지정합니다. 예를 들어 JPEG 이미지의 방향을 자동으로 지정하려면 A
= imread(___,Name=Value
)AutoOrient
를 true
(R2024b 이후)로 설정합니다.
[
는 이미지 투명도를 추가로 반환합니다. 이 구문은 PNG, CUR, ICO 파일에만 적용됩니다. PNG 파일의 경우 A
,map
,transparency
] = imread(___)transparency
는 알파 채널입니다(알파 채널이 있는 경우). CUR 파일과 ICO 파일의 경우 transparency
는 AND(불투명) 마스크입니다.
예제
샘플 이미지를 읽습니다.
A = imread("ngc6543a.jpg");
imread
함수는 uint8
형의 650×600×3 배열을 반환합니다.
이미지를 표시합니다.
image(A)
샘플 인덱스 이미지 파일의 첫 번째 이미지를 읽습니다.
[A,map] = imread("corn.tif"); whos A map
Name Size Bytes Class Attributes A 415x312 129480 uint8 map 256x3 6144 double
인덱스 이미지 A
는 uint8
형의 415×312 행렬이고, 컬러맵 map
은 double
형의 256×3 행렬입니다. map
의 차원은 인덱스 이미지에 최대 256색이 포함되어 있음을 나타냅니다.
이미지를 표시합니다.
imshow(A,map)
인덱스 이미지를 RGB 이미지로 변환합니다. 결과는 double
형의 415×312×3 배열입니다.
RGB = ind2rgb(A,map);
RGB
이미지의 값이 [0, 1] 범위에 있는지 확인합니다.
[minVal,maxVal] = bounds(RGB(:))
minVal = 0.0078
maxVal = 0.9765
샘플 이미지의 알파 채널을 반환합니다.
[A,map,alpha] = imread("peppers.png"); whos alpha
Name Size Bytes Class Attributes alpha 0x0 0 double
알파 채널이 존재하지 않으므로 alpha
는 비어 있습니다.
샘플 이미지의 지정된 픽셀 영역을 읽습니다.
벡터로 구성된 셀형 배열로 PixelRegion
이름-값 인수를 지정해 읽을 영역의 경계를 나타냅니다. 첫 번째 벡터는 읽을 행의 범위를 설명하고, 두 번째 벡터는 읽을 열의 범위를 설명합니다.
[A,map] = imread("corn.tif",PixelRegion={[201 400] [151 250]});
imread
함수는 corn.tif
에서 행 201 ~ 400과 열 151 ~ 250의 이미지 데이터를 읽고 200×100 배열 A
를 반환합니다.
이미지를 표시합니다.
imshow(A,map)
R2024b 이후
일부 이미지 파일에는 Exif(Exchangeable Image File Format) Orientation
태그의 방향 메타데이터가 포함되어 있습니다. imread
를 사용하여 이미지 파일을 읽을 때 AutoOrient
이름-값 인수를 true
로 지정하여 이 방향 태그에 따라 이미지 데이터의 방향을 자동으로 지정할 수 있습니다.
Exif Orientation
태그에 서로 다른 값을 사용해 동일한 이미지의 8개 버전을 타일 형식 배열로 만듭니다. 파일 clock_
n
.jpg
에는 Exif Orientation
태그의 n
값이 포함되어 있습니다. AutoOrient
이름-값 인수를 지정하지 않을 경우 Exif Orientation
태그 값에 상관없이 이미지가 읽혀집니다.
filenames = "clock_" + string(1:8) + ".jpg"; for i = 1:8 rawImages{i} = imread(filenames(i)); end imshow(imtile(rawImages,BorderSize=[25 25],GridSize=[2 4]))
이미지 데이터를 작업 공간으로 읽어 들이기 전에 AutoOrient
이름-값 인수를 사용하여 각 이미지를 그에 상응하는 Exif Orientation
태그 값에 따라 변환합니다. 변환된 이미지를 확인합니다.
for i = 1:8 orientedImages{i} = imread(filenames(i),AutoOrient=true); end imshow(imtile(orientedImages,BorderSize=[25 25],GridSize=[2 4]))
입력 인수
그래픽스 파일의 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.
파일의 위치에 따라 filename
은 다음 형식 중 하나가 될 수 있습니다.
위치 | 형식 | ||||||||
---|---|---|---|---|---|---|---|---|---|
현재 폴더 또는 MATLAB® 경로의 폴더 |
예: | ||||||||
폴더 안의 파일 | 파일이 현재 폴더나 MATLAB 경로의 폴더에 없는 경우, 전체 경로 또는 상대 경로 이름을 지정합니다. 예: 예: | ||||||||
URL(Uniform Resource Locator) | 파일의 위치가 인터넷 URL인 경우, 예: | ||||||||
원격 위치 | 파일이 원격 위치에 저장된 경우,
원격 위치에 따라
자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오. 예: |
이미지 형식으로, 표준 파일 확장자를 나타내는 string형 스칼라 또는 문자형 벡터로 지정됩니다. imformats
를 호출하면 지원되는 형식과 해당하는 파일 확장자 목록이 표시됩니다.
예: "png"
읽을 이미지로, 정수 스칼라 또는 정수 벡터(GIF 파일의 경우)로 지정됩니다. 예를 들어, idx
가 3
이면 imread
함수는 파일의 세 번째 이미지를 읽습니다. GIF 파일의 경우, idx
가 1:5
이면 imread
함수는 처음 5개의 프레임만 읽습니다. idx
인수는 여러 이미지가 포함된 GIF, CUR, ICO, HDF4 파일에 대해서만 지원됩니다.
동일한 GIF 파일에서 여러 개의 프레임을 읽을 때는 idx
를 프레임의 벡터로 지정하거나 Frames
이름-값 인수를 "all"
로 지정하십시오. GIF 파일의 구조상, 이러한 구문은 루프에서 imread
를 호출하는 것에 비해 더 빠른 성능을 제공합니다.
참고
HDF4 파일의 경우, idx
는 읽을 이미지의 참조 번호를 나타냅니다. 참조 번호가 반드시 파일 내의 이미지 순서와 일치하지는 않습니다. imfinfo
를 사용하여 이미지 순서와 참조 번호를 일치시킬 수 있습니다.
예: 2
예: 6:10
데이터형: double
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: imread("myImage.tif",Index=5)
는 TIFF 파일의 다섯 번째 이미지를 읽습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: imread("myImage.tif","Index",5)
는 TIFF 파일의 다섯 번째 이미지를 읽습니다.
GIF 파일
읽을 프레임으로, 양의 정수, 정수 벡터 또는 "all"
로 지정됩니다. 예를 들어, 값 3
을 지정하면 imread
는 파일의 세 번째 프레임을 읽습니다. "all"
을 지정할 경우 imread
는 모든 프레임을 읽은 다음 파일에 표시되는 순서대로 프레임을 반환합니다.
예: 5
예: 1:10
예: "all"
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| char
JPEG 파일
JPEG 2000 파일
읽을 영역의 경계로, {
형식의 셀형 배열로 지정됩니다. rows
,cols
}
값은 읽을 행의 범위를 설명하고, rows
값은 읽을 열의 범위를 설명합니다. cols
와 rows
는 모두 1부터 시작하는 인덱스를 포함하는, 요소를 2개 가진 벡터여야 합니다. 예를 들어, cols
PixelRegion={[1 2] [3 4]}
는 이미지 데이터의 행 1과 2, 열 3과 4로 경계가 지정된 영역을 읽습니다.
참고
ReductionLevel
을 양수 값으로 지정할 경우 해상도를 낮춘 후 이미지 참조에서 PixelRegion
을 지정하십시오.
예: {[1 100] [4 500]}
이미지 해상도의 감소량으로, 음이 아닌 정수로 지정됩니다. ReductionLevel
을 값
로 지정할 경우 이미지 해상도는 L
2
배만큼 감소합니다. 감소 레벨은 L
imfinfo
함수 출력값의 WaveletDecompositionLevels
필드에 지정되는 분해 레벨의 총 개수에 의해 제한됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
MATLAB 7.9 (R2009b) 이하 릴리스와의 호환성으로, false
또는 true
로 지정됩니다. V79Compatible
을 true
로 지정할 경우, 반환된 회색조 또는 RGB 이미지는 imread
의 이전 버전(MATLAB 7.9 (R2009b) 이하 릴리스)과 일치합니다.
데이터형: logical
PNG 파일
배경색으로, "none"
, 양의 정수, [0, 1] 범위의 숫자 또는 [0, 1] 범위의 숫자로 구성된 요소를 3개 가진 벡터로 지정됩니다. BackgroundColor
를 "none"
으로 지정할 경우 imread
함수는 합성을 수행하지 않습니다. 그렇지 않은 경우 imread
함수는 투명 픽셀을 배경색과 혼합합니다.
입력 이미지가 인덱스 이미지인 경우,
BackgroundColor
의 값은 [1,P
] 범위의 정수여야 합니다. 여기서P
는 컬러맵 길이입니다.입력 이미지가 회색조 이미지인 경우,
BackgroundColor
의 값은 [0, 1] 범위의 숫자여야 합니다.입력 이미지가 RGB인 경우,
BackgroundColor
의 값은 [0, 1] 범위의 숫자로 구성되고 요소를 3개 가진 벡터여야 합니다.
BackgroundColor
의 디폴트 값은 다음과 같이 transparency
출력 인수가 있는지 여부와 이미지 유형에 따라 달라집니다.
transparency
출력 인수를 요청할 경우BackgroundColor
의 디폴트 값은"none"
입니다.transparency
출력을 요청하지 않을 경우 다음이 적용됩니다.파일에 배경색 청크가 포함되어 있으면 해당 청크의 색이
BackgroundColor
의 디폴트 값이 됩니다.파일에 배경색 청크가 포함되어 있지 않으면 다음이 적용됩니다.
입력 이미지가 인덱스 이미지인 경우
BackgroundColor
의 디폴트 값은1
입니다.입력 이미지가 회색조 이미지인 경우
BackgroundColor
의 디폴트 값은0
입니다.입력 이미지가 RGB 이미지인 경우
BackgroundColor
의 디폴트 값은[0 0 0]
입니다.
예: 2
예: 0.5
예: [0.2 0.8 0.5]
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| char
TIFF 파일
R2024b 이후
이미지의 방향을 자동으로 지정합니다. false
또는 true
로 지정됩니다. 이미지 파일의 Exif Orientation
태그에 따라 filename
의 데이터를 변환하려면 AutoOrient
를 true
로 지정하십시오. AutoOrient
를 false
로 지정하면 imread
함수는 Exif Orientation
태그를 무시합니다.
참고
AutoOrient
를 true
로 지정하는 것 외에 PixelRegion
항목을 지정하면 imread
함수는 지정된 영역을 먼저 읽은 다음 파일의 Exif Orientation
태그에 따라 영역을 변환합니다.
데이터형: logical
읽을 이미지로, 양의 정수로 지정됩니다. 예를 들어, Index
의 값이 3
이면 imread
함수는 파일의 세 번째 이미지를 읽습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
이미지에 대한 정보로, imfinfo
함수가 반환한 구조체형 배열로 지정됩니다. Info
이름-값 인수를 사용하면 imread
가 여러 이미지가 포함된 TIFF 파일에서 이미지를 더 빨리 찾을 수 있습니다.
데이터형: struct
읽을 영역의 경계로, {
형식의 셀형 배열로 지정됩니다. rows
,cols
}
값은 읽을 행의 범위를 설명하고, rows
값은 읽을 열의 범위를 설명합니다. cols
와 rows
는 모두 1부터 시작하는 인덱스를 포함하는, 요소를 2개 또는 3개 가진 벡터여야 합니다.cols
또는rows
에 대한cols
[
형식의 요소를 2개 가진 벡터는 읽을 첫 번째와 마지막 행 또는 열을 지정합니다. 예를 들어,start
stop
]{[1 2] [3 4]}
는 이미지 데이터의 행 1과 2, 열 3과 4로 경계가 지정된 영역을 읽습니다.
또는rows
에 대한cols
[
형식의 요소를 3개 가진 벡터는 스텝 크기와 함께, 읽을 첫 번째와 마지막 행 또는 열을 지정합니다. 예를 들어,start
step
stop
]{[1 2 10] [4 3 12]}
는 이미지 데이터의 행 1과 10, 열 4와 12로 경계가 지정된 영역을 가로 스텝 크기 2, 세로 스텝 크기 3으로 읽습니다.
예: {[1 100] [4 500]}
예: {[100 5 200] [250 2 500]}
출력 인수
이미지 데이터로, 배열로 반환됩니다. 이미지 데이터에
개 행과 m
개 열이 있는 경우 다음이 적용됩니다.n
파일이 회색조 이미지를 포함하는 경우
A
는 이미지의 픽셀 명암을 나타내는 값으로 구성된
×m
배열입니다.n
파일이 인덱스 이미지를 포함하는 경우
A
는map
의 행을 참조하는 인덱스 값으로 구성된
×m
배열입니다.n
파일이 RGB(트루컬러) 이미지를 포함하는 경우
A
는
×m
×3 배열입니다.n
파일이 CMYK 컬러스페이스를 사용하는 컬러 이미지를 포함한 TIFF 파일인 경우
A
는
×m
×4 배열입니다.n
A
의 클래스는 이미지 형식과 이미지 데이터의 비트 심도(Bit Depth)에 따라 달라집니다. 자세한 내용은 알고리즘 항목을 참조하십시오.
A
의 인덱스 이미지 데이터에 대한 컬러맵으로, double
형 클래스의 3열 행렬로 반환됩니다.
투명도 정보로, 행렬로 반환됩니다.
PNG 파일의 경우 다음이 적용됩니다.
알파 채널이 있고
BackgroundColor
이름-값 인수를 지정하지 않은 경우transparency
는 알파 채널입니다.알파 채널이 없거나
BackgroundColor
이름-값 인수를 지정하는 경우transparency
는 비어 있습니다.
CUR 파일과 ICO 파일의 경우
transparency
는 AND(불투명) 마스크입니다.
세부 정보
비트 심도(Bit Depth)는 각 이미지 픽셀을 표시하는 데 사용되는 비트 수입니다.
비트 심도(Bit Depth)는 샘플당 비트 수와 픽셀당 샘플을 곱하여 계산됩니다. 따라서, 각 색 성분(또는 샘플)당 8비트를 사용하고 픽셀당 세 개의 샘플을 사용하는 형식의 비트 심도는 24입니다. 때로는 비트 심도에 대한 샘플의 크기가 모호한 경우도 있습니다. 예를 들어, 48비트의 비트 심도는 8비트 샘플 6개, 12비트 샘플 4개 또는 16비트 샘플 3개를 나타낼 수 있습니다. 이러한 모호성을 피할 수 있도록 샘플 크기에 대한 정보는 알고리즘 항목을 참조하십시오.
팁
AutoOrient
이름-값 인수는 JPEG, TIFF (R2024b 이후), HEIF 또는 HEIC (R2025a 이후) 형식의 파일에서만 동작합니다. 다른 형식의 파일에AutoOrient
인수를 지정하는 경우 인수는 아무런 영향을 미치지 않습니다. 이 동작을 통해 이미지 모음에 있는 일부 파일이 JPEG, TIFF (R2024b 이후), HEIF 또는 HEIC (R2025a 이후) 형식이 아닌 경우에도AutoOrient
인수를 사용하여 이미지 모음의 방향을 자동으로 지정할 수 있습니다.다음 표에서는
AutoOrient
이름-값 인수가true
인 경우imread
함수가 ExifOrientation
태그 값을 사용하여 이미지 데이터를 변환하는 방법을 보여줍니다.Orientation
필드 값변환에 대한 설명 1
변환 없음 2
세로 축에 대해 반사 3
180° 회전 4
세로 축에 대해 반사한 다음 180° 회전 5
세로 축에 대해 반사한 다음 시계 반대 방향으로 90° 회전 6
시계 방향으로 90° 회전 7
세로 축에 대해 반사한 다음 시계 방향으로 90° 회전 8
시계 반대 방향으로 90° 회전 (R2024b 이후)
알고리즘
대부분의 이미지 파일 형식의 경우, imread
는 이미지 픽셀을 저장하는데 색 평면당 8비트 이하를 사용합니다. 다음 표에는 파일 형식에서 사용되는 각각의 비트 심도(Bit Depth)별로, 그에 따라 반환되는 이미지 배열 A
의 데이터형이 나와 있습니다.
파일의 비트 심도 |
|
---|---|
픽셀당 1비트 |
|
색 평면당 2 ~ 8비트 |
|
픽셀당 9 ~ 16비트 |
16비트 BMP 압축 형식(5-6-5)의 경우, MATLAB은 |
다음 섹션에 특정 형식에 대한 지원 정보가 형식 이름을 기준으로 사전순으로 나와 있습니다.
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 무압축 | RLE 압축 | 출력값 클래스 | 참고 |
---|---|---|---|---|
1비트 | ✓ | – | logical | – |
4비트 또는 8비트 | ✓ | ✓ | uint8 | – |
16비트 | ✓ | – | uint8 | 1개 샘플/픽셀 |
24비트 | ✓ | – | uint8 | 3개 샘플/픽셀 |
32비트 | ✓ | – | uint8 | 3개 샘플/픽셀(1바이트 채움) |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 무압축 | 압축 | 출력값 클래스 |
---|---|---|---|
1비트 | ✓ | – | logical |
4비트 | ✓ | – | uint8 |
8비트 | ✓ | – | uint8 |
참고
기본적으로 Microsoft® Windows® 커서는 32×32 픽셀입니다. MATLAB 포인터는 16×16 픽셀이어야 하므로 이미지를 스케일링해야 할 수 있습니다. 이 연산에는 imresize
함수를 사용할 수 있습니다.
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 무압축 | 압축 | 출력값 클래스 |
---|---|---|---|
1비트 | ✓ | – | logical |
2 ~ 8비트 | ✓ | – | uint8 |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 컬러맵이 있는 래스터 이미지 | 컬러맵이 없는 래스터 이미지 | 출력값 클래스 | 참고 |
---|---|---|---|---|
8비트 | ✓ | ✓ | uint8 | – |
24비트 | – | ✓ | uint8 | 3개 샘플/픽셀 |
다음 표에는 HEIF 및 HEIC 파일에 대해 이 함수에서 지원되는 비트 심도(Bit Depth), 압축, 데이터형이 나와 있습니다. (R2025a 이후)
지원되는 비트 심도 | 무압축 | 압축 | 출력값 클래스 | 참고 |
---|---|---|---|---|
8비트 | ✓ | – | uint8 | RGB |
10비트 | ✓ | – | uint8 | RGB |
12비트 | ✓ | – | uint8 | RGB |
CUR — 커서 파일 항목을 참조하십시오.
imread
함수는 기본 JPEG 이미지뿐만 아니라 일반적으로 사용되는 확장자를 갖는 몇몇 JPEG 이미지도 읽습니다. JPEG 2000 파일 지원에 대한 자세한 내용은 JPEG 2000 (Joint Photographic Experts Group 2000) 항목을 참조하십시오. 다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
샘플당 지원되는 비트 수 | 손실 압축 | 무손실 압축 | 출력값 클래스 | 참고 |
---|---|---|---|---|
8비트 | ✓ | ✓ | uint8 | 회색조 또는 RGB |
12비트 | ✓ | ✓ | uint16 | 회색조 또는 RGB |
16비트 | – | ✓ | uint16 | 회색조 |
JPEG 파일에 대한 자세한 내용은 JPEG — Joint Photographic Experts Group 항목을 참조하십시오. 다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
샘플당 지원되는 비트 수 | 손실 압축 | 무손실 압축 | 출력값 클래스 | 참고 |
---|---|---|---|---|
1비트 | ✓ | ✓ | logical | 회색조만 |
2 ~ 8비트 | ✓ | ✓ | uint8 또는 int8 | 회색조 또는 RGB |
9 ~ 16비트 | ✓ | ✓ | uint16 또는 int16 | 회색조 또는 RGB |
참고
인덱스 JPEG 2000 이미지는 지원하지 않습니다. JP2/JPX 파일인 경우 JP2 호환 컬러스페이스만 지원됩니다. 기본적으로 imread
함수는 파일에 저장된 순서로 모든 이미지 채널을 반환합니다.
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 원시 이진 | ASCII(일반) 인코딩 | 출력값 클래스 |
---|---|---|---|
1비트 | ✓ | ✓ | logical |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 출력값 클래스 | 참고 |
---|---|---|
1비트 | logical | 회색조 |
8비트 | uint8 | 회색조 또는 인덱스 |
24비트 | uint8 | RGB, 픽셀당 8비트 샘플 3개 |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 원시 이진 | ASCII(일반) 인코딩 | 출력값 클래스 | 참고 |
---|---|---|---|---|
8비트 | ✓ | – | uint8 | – |
16비트 | ✓ | – | uint16 | – |
임의 | – | ✓ | 1비트 ~ 8비트: 9비트 ~ 16비트: | 값이 스케일링됩니다. |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 출력값 클래스 | 참고 |
---|---|---|
1비트 | logical | 회색조 |
2비트 또는 4비트 | uint8 | 회색조 |
8비트 | uint8 | 회색조 또는 인덱스 |
16비트 | uint16 | 회색조 또는 인덱스 |
24비트 | uint8 | RGB, 픽셀당 8비트 샘플 3개 |
48비트 | uint16 | RGB, 픽셀당 16비트 샘플 3개 |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 원시 이진 | ASCII(일반) 인코딩 | 출력값 클래스 |
---|---|---|---|
최대 16비트 | ✓ | – | uint8 |
임의 | – | ✓ | uint8 , uint16 또는 double |
다음 표에는 지원되는 비트 심도(Bit Depth)와 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | 출력값 클래스 | 참고 |
---|---|---|
1비트 | logical | 비트맵 |
8비트 | uint8 | 인덱스 |
24비트 | uint8 | RGB, 픽셀당 8비트 샘플 3개 |
32비트 | uint8 | 알파값을 가지는 RGB, 픽셀당 8비트 샘플 4개 |
TIFF 기반 이미지 파일 형식입니다. imread
함수는 JPEG 2000 압축이 적용된 이미지를 포함하여 압축된 이미지와 압축되지 않은 이미지의 읽기를 지원합니다. 자세한 내용은 TIFF — Tagged Image File Format 항목을 참조하십시오.
imread
함수는 TIFF 사양 또는 LibTIFF에서 지원하는 대부분의 이미지를 읽고 다음과 같은 TIFF 기능을 지원합니다.
픽셀당 임의의 샘플 수
CCITT 그룹 3 및 4 FAX, Packbits, JPEG, LZW, Deflate, ThunderScan 압축 및 무압축 이미지
논리형, 회색조, 인덱스 색상, 트루컬러 및 초분광 이미지
RGB, CMYK, CIELAB, ICCLAB 컬러스페이스. 컬러 이미지가 CMYK 컬러스페이스를 사용하는 경우
A
는
×m
×4 배열입니다(여기서n
과m
은 각각 이미지 데이터의 행 개수와 열 개수를 나타냅니다). 파일이 어떤 컬러스페이스를 사용하는지 확인하려면,n
imfinfo
를 사용하여 그래픽스 파일에 대한 정보를 얻고PhotometricInterpretation
필드의 값을 살펴보십시오. 파일에 CIELAB 색 데이터가 포함된 경우,imread
함수는 이 색 데이터를 MATLAB 작업 공간으로 가져오기 전에 ICCLAB으로 변환합니다. TIFF CIELAB으로 인코딩된 8비트 또는 16비트 값이 단일 MATLAB 배열로는 표현될 수 없는 부호 있는 데이터형과 부호 없는 데이터형의 조합을 사용하기 때문에 이 변환이 필요합니다.타일 또는 주사선으로 구성된 데이터
imread
함수는 다음과 같이 TIFF 이미지를 읽고 변환합니다.
YCbCr 이미지는 RGB 컬러스페이스로 변환됩니다.
모든 회색조 이미지는 검은색 =
0
, 흰색 = 최댓값으로 간주하여 읽혀집니다.1비트 이미지는
logical
클래스로 반환됩니다.16비트 부동소수점 이미지는
single
클래스로 반환됩니다.CIELAB 이미지는 ICCLAB 컬러스페이스로 변환됩니다.
다음 표에는 지원되는 비트 심도(Bit Depth), 압축, 그리고 출력 이미지 데이터 배열의 데이터형이 나와 있습니다.
지원되는 비트 심도 | ZPixmaps | XYBitmaps | XYPixmaps | 출력값 클래스 |
---|---|---|---|---|
1비트 | ✓ | – | ✓ | logical |
8비트 | ✓ | – | – | uint8 |
확장 기능
사용법 관련 참고 및 제한 사항:
이 함수는 8비트 JPEG 이미지의 읽기만 지원합니다. 입력 인수
filename
은 유효한 절대 경로 또는 상대 경로여야 합니다.코드 생성 시
AutoOrient
이름-값 인수는 지원되지 않습니다.이 함수는 미리 컴파일된 플랫폼별 공유 라이브러리 (Image Processing Toolbox)를 사용하는 코드를 생성합니다.
런타임 오류 검사를 비활성화한 후 코드를 생성할 경우 런타임 오류가 발생하면 다음 방법 중 하나로 오류가 보고됩니다.
filename
이 컴파일타임 상수가 아니면 빈 행렬이 반환됩니다.filename
이 컴파일타임 상수이면filename
과 같은 차원의 검은색 이미지가 반환됩니다.
임베디드 타깃을 대상으로 생성된 코드에서 런타임 오류 검사가 비활성화되어 있습니다.
임베디드 타깃(예: NVIDIA® Jetson™)용으로 8비트 JPEG 이미지에
imread
함수를 사용하는 코드를 생성할 수 있습니다. 다음 단계에 따라, 임베디드 타깃에서 8비트 JPEG 이미지를 읽는 데 사용할 수 있는 코드를 생성하십시오. (R2024b 이후)적절한 구성, 하드웨어, 입력 설정과 함께 MATLAB Coder™를 사용하여,
imread
함수를 사용하는 MATLAB 코드를 대상으로 C/C++ 소스 코드와 makefile을 생성합니다.타깃에 대해
libjpeg-turbo
를 컴파일하고 공유 라이브러리와 헤더 파일을 설치합니다. (또는 일부 타깃의 경우 사전 빌드된libjpeg-turbo
이진 파일을 사용하거나 타깃에서libjpeg-turbo
를 컴파일할 수 있습니다.)생성된 코드를 타깃을 대상으로 빌드된
libjpeg-turbo
와 연결하여 컴파일합니다.
사용법 관련 참고 및 제한 사항:
이 함수는 8비트 JPEG 이미지의 읽기만 지원합니다. 입력 인수
filename
은 유효한 절대 경로 또는 상대 경로여야 합니다.코드 생성 시
AutoOrient
이름-값 인수는 지원되지 않습니다.이 함수는 미리 컴파일된 플랫폼별 공유 라이브러리 (Image Processing Toolbox)를 사용하는 코드를 생성합니다.
런타임 오류 검사를 비활성화한 후 코드를 생성할 경우 런타임 오류가 발생하면 다음 방법 중 하나로 오류가 보고됩니다.
filename
이 컴파일타임 상수가 아니면 빈 행렬이 반환됩니다.filename
이 컴파일타임 상수이면filename
과 같은 차원의 검은색 이미지가 반환됩니다.
임베디드 타깃을 대상으로 생성된 코드에서 런타임 오류 검사가 비활성화되어 있습니다.
임베디드 타깃(예: NVIDIA Jetson)용으로 8비트 JPEG 이미지에
imread
함수를 사용하는 코드를 생성할 수 있습니다. 다음 단계에 따라, 임베디드 타깃에서 8비트 JPEG 이미지를 읽는 데 사용할 수 있는 코드를 생성하십시오. (R2024b 이후)적절한 구성, 하드웨어, 입력 설정과 함께 MATLAB Coder를 사용하여,
imread
함수를 사용하는 MATLAB 코드를 대상으로 C/C++ 소스 코드와 makefile을 생성합니다.타깃에 대해
libjpeg-turbo
를 컴파일하고 공유 라이브러리와 헤더 파일을 설치합니다. (또는 일부 타깃의 경우 사전 빌드된libjpeg-turbo
이진 파일을 사용하거나 타깃에서libjpeg-turbo
를 컴파일할 수 있습니다.)생성된 코드를 타깃을 대상으로 빌드된
libjpeg-turbo
와 연결하여 컴파일합니다.
사용법 관련 참고 및 제한 사항:
backgroundPool
또는 Parallel Computing Toolbox™Threadpool
을 사용하여 백그라운드에서imread
를 실행할 경우imread
는 HDF(Hierarchical Data Format), SVS, TIFF, HEIF 또는 HEIC 파일 읽기를 지원하지 않습니다.
자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨이제 imread
를 사용하여 HEIF 및 HEIC 이미지 파일에 대한 정보를 가져올 수 있습니다.
이 기능을 사용하려면 MATLAB Support for HEIF/HEIC Image Format이 필요하고, 이는 MATLAB 데스크탑 환경에서만 사용 가능합니다. 하지만 독립 실행형 애플리케이션 워크플로에서는 HEIF 및 HEIC 이미지 파일을 사용할 수 없습니다.
지원 패키지를 설치하려면 다음을 수행하십시오.
MATLAB 홈 탭의 환경 섹션에서 애드온 > 애드온 탐색을 선택합니다.
애드온 탐색기 검색 표시줄에서 MATLAB Support for HEIF/HEIC Image Format을 검색하고 MATLAB Support for HEIF/HEIC Image Format 애드온을 클릭합니다.
AutoOrient
이름-값 인수를 사용하여 JPEG 및 TIFF 이미지에 Exif Orientation
태그 값을 적용합니다.
MATLAB Coder를 사용하면 8비트 JPEG 이미지에 imread
함수를 사용하는 코드를 생성한 후 이 생성된 코드를 임베디드 타깃에서 사용할 수 있습니다.
R2021b와 이전 릴리스의 MATLAB의 JPEG 2000 이미지 간에 픽셀 값 차이가 있을 수 있습니다.
사용자가 추가 인수를 지정하지 않고 GIF 파일을 읽어올 때 imread
함수는 기본적으로 첫 번째 프레임만 읽어옵니다. 이전에는 imread
는 기본적으로 파일의 모든 프레임을 읽어왔습니다.
JPEG 2000 압축을 사용한 Aperio SVS 현미경 이미지 파일과 TIFF 이미지 파일을 읽어올 수 있습니다.
여러 이미지가 포함된 PGM, PBM 또는 PPM 파일에서 지정된 이미지를 읽어올 수 있습니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)