이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

imwrite

그래픽스 파일에 이미지 쓰기

설명

예제

imwrite(A,filename)은 확장자에서 파일 형식을 유추하여 filename에서 지정된 파일에 이미지 데이터 A를 씁니다. imwrite는 사용자의 현재 폴더에 새 파일을 생성합니다. 출력 이미지의 비트 심도(Bit Depth)는 A의 데이터형과 파일 형식에 따라 달라집니다. 대부분의 형식은 다음과 같이 정해집니다.

  • A의 데이터형이 uint8인 경우, imwrite는 8비트 값을 출력합니다.

  • A의 데이터형이 uint16이고 출력 파일 형식이 16비트 데이터(JPEG, PNG 및 TIFF)를 지원하는 경우 imwrite는 16비트 값을 출력합니다. 출력 파일 형식이 16비트 데이터를 지원하지 않는 경우 imwrite는 오류를 반환합니다.

  • Adouble 또는 single 데이터형의 회색조 또는 RGB 컬러 이미지인 경우 imwrite는 동적 범위가 [0,1]인 것으로 가정하고 데이터를 8비트 값으로 파일에 쓰기 전에 255만큼 자동으로 스케일링합니다. A의 데이터가 single형인 경우 GIF 또는 TIFF 파일에 기록하기 전에 Adouble형으로 변환합니다.

  • A의 데이터형이 logical인 경우, imwrite는 데이터가 이진 이미지인 것으로 가정하고, 형식이 허용할 경우 1 비트 심도로 데이터를 파일에 씁니다. BMP, PNG 또는 TIFF 형식은 이진 이미지를 입력 배열로 받아들입니다.

A가 인덱스 이미지 데이터를 포함하는 경우 입력 인수 map을 추가적으로 지정해야 합니다.

예제

imwrite(A,map,filename)A에 인덱스 이미지를 기록하고 관련 컬러맵 mapfilename에서 지정된 파일에 씁니다.

  • Adouble 또는 single 데이터형의 인덱스 이미지인 경우, imwrite는 각 요소에서 1을 빼서 0부터 시작하는 인덱스로 변환한 다음 데이터를 uint8형으로 씁니다. A의 데이터가 single형인 경우 GIF 또는 TIFF 파일에 기록하기 전에 Adouble형으로 변환합니다.

imwrite(___,fmt)filename의 파일 확장자에 관계없이 fmt에서 지정된 형식으로 이미지를 기록합니다. fmt는 위에 열거된 구문의 입력 인수 다음에 지정될 수 있습니다.

예제

imwrite(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 GIF, HDF, JPEG, PBM, PGM, PNG, PPM, TIFF 출력 파일에 대한 추가 파라미터를 지정합니다. Name,Value는 위에 열거된 구문의 입력 인수 다음에 지정될 수 있습니다.

예제

모두 축소

회색조 값으로 구성된 50x50 배열을 현재 폴더의 PNG 파일에 씁니다.

A = rand(50);
imwrite(A,'myGray.png')

인덱스 이미지 배열과 관련 컬러맵을 PNG 파일에 씁니다.

clown.mat 파일에서 샘플 이미지 데이터를 불러옵니다.

load clown.mat

이미지 배열 X와 관련 컬러맵 map을 MATLAB® 작업 공간에 불러옵니다.

데이터를 새 PNG 파일에 씁니다.

imwrite(X,map,'myclown.png')

imwritemyclown.png 파일을 현재 폴더에 생성합니다.

MATLAB 밖에서 열어 새 파일을 봅니다.

내장된 MATLAB 컬러맵 copper로 이미지 데이터를 새 PNG 파일에 씁니다.

clown.mat 파일에서 샘플 이미지 데이터를 불러옵니다.

load clown.mat

이미지 배열 X와 관련 컬러맵 map을 MATLAB 작업 공간에 불러옵니다. map은 81 RGB 벡터의 행렬입니다.

81 RGB 벡터로 구리 톤 컬러맵을 정의합니다. 그런 다음 새 컬러맵을 사용하여 이미지 데이터를 PNG 파일에 씁니다.

newmap = copper(81);
imwrite(X,newmap,'copperclown.png');

imwritecopperclown.png 파일을 현재 폴더에 생성합니다.

MATLAB 밖에서 열어 새 파일을 봅니다.

트루컬러 이미지 데이터를 생성하여 JPEG 파일에 씁니다.

임의의 RGB 값으로 구성된 49x49x3 배열을 생성합니다.

A = rand(49,49);
A(:,:,2) = rand(49,49);
A(:,:,3) = rand(49,49);

'jpg'를 사용하여 출력 형식을 지정하여 이미지 데이터를 JPEG 파일에 씁니다. 'Comment' 이름-값 쌍의 인수를 사용하여 파일에 주석을 추가합니다.

imwrite(A,'newImage.jpg','jpg','Comment','My JPEG file')

새 파일에 대한 정보를 봅니다.

imfinfo('newImage.jpg')
ans = 

           Filename: 'S:\newImage.jpg'
        FileModDate: '25-Jan-2013 16:18:41'
           FileSize: 2339
             Format: 'jpg'
      FormatVersion: ''
              Width: 49
             Height: 49
           BitDepth: 24
          ColorType: 'truecolor'
    FormatSignature: ''
    NumberOfSamples: 3
       CodingMethod: 'Huffman'
      CodingProcess: 'Sequential'
            Comment: {'My JPEG file'}

하나의 멀티페이지 TIFF 파일에 복수의 이미지를 씁니다.

두 개의 임의 이미지 데이터 세트 im1im2를 생성합니다.

im1 = rand(50,40,3);
im2 = rand(50,50,3);

첫 번째 이미지를 새 TIFF 파일에 씁니다. 그리고 두 번째 이미지를 동일한 파일에 추가합니다.

imwrite(im1,'myMultipageFile.tif')
imwrite(im2,'myMultipageFile.tif','WriteMode','append')

일련의 플롯을 그려 이미지로 캡처한 후 하나의 애니메이션 GIF 파일에 씁니다.

에 대해 을 플로팅합니다.

x = 0:0.01:1;
n = 3;
y = x.^n;
plot(x,y,'LineWidth',3)
title(['y = x^n,  n = ' num2str(n) ])

의 값을 증가시키며 일련의 플롯을 캡처합니다.

n = 1:0.5:5;
nImages = length(n);

fig = figure;
for idx = 1:nImages
    y = x.^n(idx);
    plot(x,y,'LineWidth',3)
    title(['y = x^n,  n = ' num2str( n(idx)) ])
    drawnow
    frame = getframe(fig);
    im{idx} = frame2im(frame);
end
close;

하나의 Figure에 일련의 이미지를 표시합니다.

figure;
for idx = 1:nImages
    subplot(3,3,idx)
    imshow(im{idx});
end

9개 이미지를 GIF 파일에 저장합니다. GIF 파일은 3차원 데이터를 지원하지 않으므로, rgb2ind를 호출하여 이미지의 RGB 데이터를 컬러맵 map을 갖는 인덱스 이미지 A로 변환합니다. 첫 번째 이미지에 복수의 이미지를 연결하려면 imwrite를 이름-값 쌍의 인수 'WriteMode','append'와 함께 호출하십시오.

filename = 'testAnimated.gif'; % Specify the output file name
for idx = 1:nImages
    [A,map] = rgb2ind(im{idx},256);
    if idx == 1
        imwrite(A,map,filename,'gif','LoopCount',Inf,'DelayTime',1);
    else
        imwrite(A,map,filename,'gif','WriteMode','append','DelayTime',1);
    end
end

imwrite는 현재 폴더에 GIF 파일을 추가합니다. 이름-값 쌍 'LoopCount',Inf는 애니메이션이 계속 반복되도록 합니다. 'DelayTime',1은 애니메이션의 각 이미지 간에 1초의 지연 시간을 지정합니다.

입력 인수

모두 축소

쓰려는 이미지 데이터로, 비희소(Full) 형식 행렬로 지정됩니다.

  • 회색조 이미지의 경우 Amxn 행렬이 될 수 있습니다.

  • 인덱스 이미지의 경우 Amxn 행렬이 될 수 있습니다. map 입력 인수에 관련 컬러맵을 지정합니다.

  • 트루컬러 이미지의 경우 Amxnx3 행렬이어야 합니다. imwrite는 RGB 이미지를 GIF 파일에 쓰는 것을 지원하지 않습니다.

TIFF 파일의 경우, A는 CMYK 컬러스페이스를 사용하는 색 데이터를 포함하는 mxnx4 배열이 될 수 있습니다.

멀티프레임 GIF 파일의 경우 A는 회색조 또는 인덱스 이미지를 포함하는 mxnx1xp 배열이 될 수 있습니다. 여기서 p는 쓰려는 프레임 수입니다. 이 경우 RGB 이미지는 지원하지 않습니다.

데이터형: double | single | uint8 | uint16 | logical

출력 파일의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

쓰려는 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

현재 폴더

현재 폴더에 쓰려면 filename에 파일의 이름을 지정하십시오.

filename은 파일 확장자를 포함해야 합니다. imwrite가 기록할 수 있는 이미지 유형의 목록은 fmt 입력 인수에 대한 설명을 참조하십시오.

예: 'myImage.jpg'

다른 폴더

현재 폴더가 아닌 다른 폴더에 쓰려면 filename에 전체 경로 또는 상대 경로 이름을 지정하십시오.

예: 'C:\myFolder\myImage.ext'

예: '\imgDir\myImage.ext'

원격 위치

원격 위치에 쓰려면 filename이 다음 형식과 같이 IRI(Internationalized Resource Identifier)로 지정된 파일의 전체 경로를 포함해야 합니다.

scheme_name://path_to_file/my_file.ext

원격 위치에 따라 scheme_name은 다음 표에 있는 값 중 하나가 될 수 있습니다.

원격 위치scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

예: 's3://bucketname/path_to_file/my_image.jpg'

데이터형: char | string

A의 인덱스 이미지 데이터에 대한 컬러맵으로, mx3 배열로 지정됩니다. map은 유효한 MATLAB 컬러맵이어야 합니다. 내장된 MATLAB 컬러맵의 목록은 colormap을 참조하십시오. 대부분의 이미지 파일 형식은 항목이 256개를 초과하는 컬러맵을 지원하지 않습니다.

예: [0,0,0;0.5,0.5,0.5;1,1,1]

예: jet(60)

데이터형: double

출력 파일의 형식으로, 다음 표에 있는 형식 중 하나로 지정됩니다.

이 표에는 imwrite가 쓸 수 있는 이미지의 유형이 요약되어 있습니다. MATLAB 파일 형식 레지스트리는 어떤 파일 형식을 지원하는지를 결정합니다. 이 레지스트리에 대한 자세한 내용은 imformats를 참조하십시오.

특정 형식의 경우 imwrite는 추가 이름-값 쌍의 인수를 받아들일 수 있습니다. 이러한 인수를 보려면 아래의 링크된 형식 이름을 클릭하십시오.

fmt의 값

출력 파일의 형식

설명

'bmp'

BMP(Windows® 비트맵)

1비트, 8비트 및 24비트 무압축 이미지

'gif'

GIF — Graphics Interchange Format

8비트 이미지

'hdf'

HDF4 — Hierarchical Data Format

관련 컬러맵이 있거나 없는 8비트 래스터 이미지 데이터 세트, 24비트 래스터 이미지 데이터 세트

'jpg' 또는 'jpeg'

JPEG — Joint Photographic Experts Group

8비트, 12비트 및 16비트 기본 JPEG 이미지

참고

JPEG 형식은 인덱스 이미지를 지원하지 않으므로, imwrite는 JPEG 파일에 데이터를 기록하기 전에 인덱스 이미지를 RGB로 변환합니다.

'jp2' 또는 'jpx'

JPEG 2000— Joint Photographic Experts Group 2000

1비트, 8비트 및 16비트 JPEG 2000 이미지

'pbm'

PBM(Portable Bitmap)

모든 1비트 PBM 이미지, ASCII(일반) 또는 원시(이진) 인코딩

'pcx'

PCX(Windows 그림판)

8비트 이미지

'pgm'

PGM(Portable Graymap)

모든 PGM 이미지, 임의의 색 심도로 인코딩된 ASCII(일반), 회색 값당 최대 16비트로 인코딩된 원시(이진) 이미지

'png'

PNG — Portable Network Graphics

1비트, 2비트, 4비트, 8비트, 16비트 회색조 이미지, 알파 채널을 가지는 8비트 및 16비트 회색조 이미지, 1비트, 2비트, 4비트, 8비트 인덱스 이미지, 24비트 및 48비트 트루컬러 이미지, 알파 채널을 가지는 24비트 및 48비트 트루컬러 이미지

'pnm'

PNM(Portable Anymap)

자동으로 선택되는 임의의 PPM/PGM/PBM 형식

'ppm'

PPM(Portable Pixmap)

모든 표준 PPM 이미지: 임의의 색 심도로 인코딩된 ASCII (일반) 또는 색 구성요소당 16비트로 인코딩된 원시(이진) 이미지

'ras'

Sun™ 래스터(RAS)

1비트 비트맵, 8비트 인덱스, 24비트 트루컬러 및 알파 채널을 갖는 32비트 트루컬러를 포함하는 모든 RAS 이미지

'tif' 또는 'tiff'

TIFF(Tagged Image File Format)

다음을 포함하는 기본 TIFF 이미지:

  • 1비트, 8비트, 16비트, 24비트 및 48비트의 무압축 이미지 및 팩비트, LZW 또는 Deflate 압축 이미지

  • 1비트 CCITT 1D, Group 3 및 Group 4 압축 이미지

  • CIELAB, ICCLAB 및 CMYK 이미지

'xwd'

XWD(X Windows Dump)

8비트 ZPixmaps

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: imwrite(A,'myFile.png','BitDepth',8)은 각 픽셀을 표현하기 위해 8비트를 사용하여 A에 데이터를 씁니다.

GIF — Graphics Interchange Format

모두 축소

인덱스 이미지에 대한 배경색으로 사용할 색으로, 'BackgroundColor'와 함께 컬러맵 인덱스에 대응하는 정수 스칼라가 쉼표로 구분되어 지정됩니다.

배경색은 애니메이션 GIF의 일부 처리 방법에 사용됩니다.

  • 이미지 데이터 Auint8형 또는 logical형인 경우, 컬러맵 인덱스는 0부터 시작됩니다.

  • 이미지 데이터 Adouble형인 경우, 컬러맵 인덱스는 1부터 시작됩니다.

디폴트 배경색은 컬러맵의 첫 번째 색에 대응합니다.

예: 'BackgroundColor',15

이미지에 추가할 주석으로, 'Comment'와 함께 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 1xn 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. 문자형 벡터로 구성된 셀형 배열의 경우, imwrite는 각 문자형 벡터 다음에 캐리지 리턴을 추가합니다.

예: 'Comment',{'Sample #314','January 5, 2013'}

데이터형: char | cell | string

다음 이미지가 표시될 때까지의 초 단위의 지연 시간으로, 'DelayTime'과 함께 [0,655] 범위의 스칼라 값이 쉼표로 구분되어 지정됩니다. 0의 값은 하드웨어가 허용하는 최대의 속도로 이미지를 표시합니다.

예: 'DelayTime',60

애니메이션 GIF의 처리 방법으로, 'DisposalMethod'와 함께 다음 표에 있는 메서드 중 하나가 쉼표로 구분되어 지정됩니다.

DisposalMethod의 값 결과
'doNotSpecify'(디폴트 값)하나의 전체 크기 불투명 프레임을 또다른 전체 크기 불투명 프레임으로 교체합니다.
'leaveInPlace'다음 프레임에 의해 가려지지 않는 픽셀은 계속 표시됩니다.
'restoreBG'배경색 또는 배경 타일은 투명 픽셀을 관통하여 보입니다.
'restorePrevious'이전의 처리되지 않은 프레임 상태로 복원합니다.

예: 'DisposalMethod','restoreBG'

각각의 왼쪽 코너 상단에서 측정된 이미지를 기준으로 한 화면의 오프셋으로, 'Location'과 함께, 요소를 2개 가진 벡터가 쉼표로 구분되어 지정됩니다. 첫 번째 벡터 요소는 상부로부터의 오프셋을, 두 번째 요소는 왼쪽으로부터의 오프셋을 픽셀 단위로 지정합니다.

예: 'Location',[10,15]

데이터형: double

애니메이션이 반복되는 횟수로, 'LoopCount'와 함께 범위 [0,65535] 내의 정수나 값 Inf가 쉼표로 구분되어 지정됩니다. 0을 지정할 경우, 애니메이션은 한 번 재생됩니다. 마찬가지로, 값 1을 지정할 경우 애니메이션이 두 번 재생되는 식으로 진행됩니다. InfLoopCount 값은 애니메이션이 계속 반복되도록 합니다.

Microsoft® PowerPoint® 내에서 애니메이션을 활성화하려면 [1,65535] 범위 내의 'LoopCount' 값을 지정하십시오. 일부 Microsoft 응용 프로그램은 전혀 반복을 하지 않는 것으로 값 0을 해석합니다.

예: 'LoopCount',3

프레임의 높이와 너비로, 'ScreenSize'와 함께, 요소를 2개 가진 벡터가 쉼표로 구분되어 지정됩니다. 'Location'과 함께 ScreenSize 인수를 사용하면 전체 프레임보다 작은 이미지에 프레임을 기록할 수 있습니다. 'DisposalMethod'는 프레임 외부에 있는 픽셀에 대한 채우기 값(Fill Value)을 결정합니다.

예: 'ScreenSize',[1000 1060]

데이터형: double

이미지에 대한 투명 색상으로 사용할 색으로, 'TransparentColor'와 함께 컬러맵 인덱스에 대응하는 정수 스칼라가 쉼표로 구분되어 지정됩니다.

  • 이미지 데이터 Auint8형 또는 logical형인 경우 인덱스는 0부터 시작됩니다.

  • 이미지 데이터 Adouble형인 경우 인덱스는 1부터 시작됩니다.

예: 'TransparentColor',20

쓰기 모드로, 'WriteMode'와 함께 'overwrite''append'가 쉼표로 구분되어 지정됩니다. overwrite 모드에서는 imwrite가 기존 파일 filename을 덮어씁니다. append 모드에서는 imwrite가 기존 파일에 단일 프레임을 추가합니다.

예: 'WriteMode','append'

HDF4 — Hierarchical Data Format

모두 축소

압축 방식으로, 'Compression'과 함께 다음 표에 있는 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

Compression의 값 결과
'none'(디폴트 값)무압축
'jpeg'JPEG 압축. 회색조 및 RGB 이미지에 대해서만 유효함.
'rle'반복 길이 부호화(Run-length Encoding). 회색조 및 인덱스 이미지에 대해서만 유효함.

예: 'Compression','jpeg'

JPEG 압축 파일의 품질로, 'Quality'와 함께 범위 [0,100]의 스칼라가 쉼표로 구분되어 지정됩니다. 여기서 0은 낮은 품질과 높은 압축률, 100은 높은 품질과 낮은 압축률을 나타냅니다. 이 파라미터는 'Compression''jpeg'인 경우에만 적용됩니다.

예: 'Quality',25

쓰기 모드로, 'WriteMode'와 함께 'overwrite''append'가 쉼표로 구분되어 지정됩니다. overwrite 모드에서는 imwrite가 기존 파일 filename을 덮어씁니다. append 모드에서는 imwrite가 기존 파일에 단일 프레임을 추가합니다.

예: 'WriteMode','append'

JPEG — Joint Photographic Experts Group

모두 축소

픽셀당 비트 수로, 'BitDepth'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

  • 회색조 이미지의 경우, BitDepth 값은 8, 12 또는 16이 될 수 있습니다. 디폴트 값은 8입니다. 16비트 이미지의 경우 'Mode' 이름-값 쌍의 인수는 'lossless'여야 합니다.

  • 컬러 이미지의 경우, BitDepth 값은 평면당 비트 수이고, 8 또는 12가 될 수 있습니다. 디폴트 값은 평면당 8비트입니다.

예: 'BitDepth',12

이미지에 추가할 주석으로, 'Comment'와 함께 문자형 벡터, string형 스칼라, 문자형 배열, 문자형 벡터로 구성된 nx1 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. imwrite는 입력값의 각 행을 JPEG 파일의 주석으로 씁니다.

예: 'Comment',{'First line';'second line';'third line'}

데이터형: char | string | cell

압축 유형으로, 'Mode'와 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'lossy'

  • 'lossless'

예: 'Mode','lossless'

출력 파일의 품질로, 'Quality'와 함께 범위 [0,100]의 스칼라가 쉼표로 구분되어 지정됩니다. 여기서 0은 낮은 품질과 높은 압축률, 100은 높은 품질과 낮은 압축률을 나타냅니다. Quality 값이 100이라 해도 무손실 JPEG 이미지를 기록하지는 않습니다. 대신 'Mode','lossless' 이름-값 쌍의 인수를 사용하십시오.

예: 'Quality',100

JPEG 2000— Joint Photographic Experts Group 2000

모두 축소

이미지에 추가할 주석으로, 'Comment'와 함께 문자형 벡터, 문자형 배열, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. imwrite는 입력값의 각 행을 JPEG 2000 파일의 주석으로 씁니다.

예: 'Comment',{'First line';'second line';'third line'}

예: 'Comment',{'First line','second line','third line'}

데이터형: cell | char | string

목표 압축률로, 'CompressionRatio'와 함께 1보다 크거나 같은 실수형 스칼라가 쉼표로 구분되어 지정됩니다. 압축률은 압축된 출력 크기에 대한 입력 이미지 크기의 비율입니다. 예를 들어, 값이 2.0이면 출력 이미지 크기가 입력 이미지 크기의 절반 이하인 것을 의미합니다. 갚이 높을수록 파일 크기가 더 작아지고 이미지 품질이 저하됨을 의미합니다. 압축률은 헤더 크기를 고려하지 않습니다.

CompressionRatio를 지정하는 것은 'Mode''lossy'인 경우에만 유효합니다.

예: 'CompressionRatio',3

압축 유형으로, 'Mode'와 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'lossy'

  • 'lossless'

예: 'Mode','lossless'

코드 스트림의 패킷 순서로, 'ProgressionOrder'와 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'LRCP'

  • 'RLCP'

  • 'RPCL'

  • 'PCRL'

  • 'CPRL'

문자는 다음을 나타냅니다. L = 계층, R = 해상도, C = 구성요소, P = 위치.

예: 'ProgressionOrder','RLCP'

품질 계층 수로, 'QualityLayers'와 함께 범위 [1,20]의 정수가 쉼표로 구분되어 지정됩니다.

예: 'QualityLayers',8

감소 레벨 또는 웨이블릿(Wavelet) 분해 레벨의 수로, 'ReductionLevels'와 함께 범위 [1.8]의 정수가 쉼표로 구분되어 지정됩니다.

예: 'ReductionLevels',6

타일의 높이와 너비로, 'TileSize'와 함께, 요소를 2개 가진 벡터가 쉼표로 구분되어 지정됩니다. 지정할 수 있는 최소 크기는 [128 128]입니다.

예: 'TileSize',[130 130]

PBM, PGM 및 PPM — Portable Bitmap, Graymap, Pixmap

모두 축소

인코딩으로, 'Encoding'과 함께 이진 인코딩용인 'rawbits'나 일반 인코딩용인 'ASCII'가 쉼표로 구분되어 지정됩니다.

예: 'Encoding','ASCII'

최대 회색 또는 색 값으로, 'MaxValue'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

PGM 및 PPM 파일에만 사용할 수 있습니다. PBM 파일의 경우, 이 값은 항상 1입니다.

이미지 배열이 uint16형인 경우 MaxValue의 디폴트 값은 65535입니다. 그렇지 않은 경우 디폴트 값은 255입니다.

예: 'MaxValue',510

PNG — Portable Network Graphics

모두 축소

각 픽셀의 투명도로, 'Alpha'와 함께 범위 [0,1] 내 값으로 구성된 행렬이 쉼표로 구분되어 지정됩니다. Alpha 행렬의 행과 열의 차원은 이미지 데이터 배열의 차원과 같아야 합니다. 회색조(mxn)와 트루컬러(mxnx3) 이미지 데이터에 대해서만 Alpha를 지정할 수 있습니다.

참고

'Alpha''Transparency'는 동시에 지정할 수 없습니다.

데이터형: double | uint8 | uint16

작성자 정보로, 'Author'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

예: "Author','Ann Smith'

데이터형: char

투명 픽셀을 합성할 때의 배경색으로, 'Background'와 함께 다음과 같은 이미지 데이터 의존 값이 쉼표로 구분되어 지정됩니다.

이미지 유형Background 값의 형식
회색조 이미지[0,1] 범위의 스칼라.
인덱스 이미지[1,P] 범위의 정수입니다. 여기서 P는 컬러맵의 길이입니다. 예를 들어, 'Background',50는 컬러맵의 50번째 인덱스로 지정된 색으로 배경색을 설정합니다.
트루컬러 이미지[0,1] 범위의 RGB 농도에 대한 요소를 3개 가진 벡터입니다. 예를 들어, 'Background',[0 1 1]은 배경색을 녹청색으로 설정합니다.

데이터형: double

픽셀당 비트 수로, 'BitDepth'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. 출력 이미지에 따라, 스칼라 값은 다음 값 중 하나가 될 수 있습니다.

이미지 유형BitDepth에 허용되는 값
회색조 이미지1, 2, 4, 8 또는 16
알파 채널을 갖는 회색조 이미지8 또는 16
인덱스 이미지1, 2, 4 또는 8
트루컬러 이미지8 또는 16
  • 이미지가 double형 또는 uint8형 클래스인 경우 디폴트 비트 심도(Bit Depth)는 픽셀당 8비트입니다.

  • 이미지가 uint16형인 경우 디폴트 값은 픽셀당 16비트입니다.

  • 이미지가 logical형인 경우 디폴트 값은 픽셀당 1비트입니다.

예: 'BitDepth',4

기준 흰색 점과 기본 색도로, 'Chromaticities'와 함께, 요소를 8개 가진 벡터 [wx wy rx ry gx gy bx by]가 쉼표로 구분되어 지정됩니다. 요소 wxwy는 흰색 점의 색도 좌표이고, 요소 rx, ry, gx, gy, bxby는 삼원색의 색도 좌표입니다.

Chromaticities를 지정하는 경우에는 Gamma 이름-값 쌍의 인수 또한 지정해야 합니다.

예: 'Chromaticities',[0.312,0.329,0.002,0.002,0.001,0.001,0.115,0.312]

데이터형: double

이미지에 추가할 주석으로, 'Comment'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

원본 이미지 생성 시간으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

이미지에 대한 설명으로, 'Description'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

법적 고지로, 'Disclaimer'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

파일 감마로, 'Gamma'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

예: 'Gamma',2.2

마지막 이미지 수정 시간으로, 'ImageModTime'과 함께 MATLAB 날짜 일련 번호 값 또는, datevec 함수를 사용하여 날짜 벡터로 변환할 수 있는 날짜의 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 값은 협정 세계시(UTC) 기준 값이어야 합니다.

디폴트 ImageModTime 값은 imwrite를 호출하는 시간입니다.

예: 'ImageModTime','17-Jan-2013 11:23:10'

데이터형: double | char | string

인터레이스 방식으로, 'InterlaceType'과 함께, 인터레이스를 사용하지 않으면 'none'이, Adam7 알고리즘을 사용하려면 'adam7'이 쉼표로 구분되어 지정됩니다.

예: 'InterlaceType','adam7'

이미지 해상도 단위로, 'ResolutionUnit'과 함께 'unknown' 또는 'meter'가 쉼표로 구분되어 지정됩니다. ResolutionUnit을 지정하는 경우, XResolutionYResolution 이름-값 쌍의 인수 중 적어도 하나를 포함해야 합니다. ResolutionUnit의 값이 'meter'인 경우, XResolutionYResolution 값은 미터당 픽셀로 해석됩니다.

예: 'ResolutionUnit','meter','XResolution',1000

유효 비트로 간주할 데이터 배열 내 비트의 수로, 'SignificantBits'와 함께 스칼라 또는 [1,BitDepth] 범위의 벡터가 쉼표로 구분되어 지정됩니다. 출력 이미지의 유형에 따라, 값은 다음 형식을 따라야 합니다.

이미지 유형SignificantBits 값의 형식
알파 채널이 없는 회색조 이미지스칼라
알파 채널을 갖는 회색조 이미지요소를 2개 가진 벡터
인덱스 이미지요소를 3개 가진 벡터
알파 채널이 없는 트루컬러 이미지요소를 3개 가진 벡터
알파 채널을 갖는 트루컬러 이미지요소를 4개 가진 벡터

예: 'SignificantBits',[2,3]

이미지 생성에 사용되는 소프트웨어로, 'Software'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

이미지 생성에 사용되는 장치로, 'Source'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

알파 채널이 사용되지 않을 때 투명한 것으로 간주할 픽셀로, 'Transparency'와 함께 스칼라 또는 벡터가 쉼표로 구분되어 지정됩니다. 출력 이미지에 따라, 값은 다음 형식을 따라야 합니다.

이미지 유형Transparency 값의 형식
회색조 이미지투명한 것으로 간주될 회색조 색상을 나타내는 [0,1] 범위의 스칼라.
인덱스 이미지[0,1] 범위 내의 값에 대한 요소를 Q-개 가진 벡터입니다. 여기서 Q는 컬러맵 길이 이하이며, 각 값은 해당 컬러맵 항목과 관련된 투명도를 나타냅니다. 대부분의 경우, Q = 1입니다.
트루컬러 이미지[0,1] 범위 내의 RGB 농도에 대한 요소를 3개 가진 벡터로, 투명한 것으로 간주할 트루컬러 색을 나타냅니다.

참고

'Transparency''Alpha'는 동시에 지정할 수 없습니다.

예: 'Transparency',[1 1 1]

데이터형: double

내용의 특징에 대한 경고로, 'Warning'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

픽셀/단위의 가로 방향 이미지 해상도로, 'XResolution'과 함께 스칼라가 쉼표로 구분되어 지정됩니다. ResolutionUnit 이름-값 쌍의 인수를 지정하여 단위를 정의합니다.

YResolution을 함께 지정하지 않을 경우, XResolution 값은 가로와 세로 방향 모두에 적용됩니다.

예: 'XResolution',900

픽셀/단위의 세로 방향 이미지 해상도로, 'XResolution'과 함께 스칼라가 쉼표로 구분되어 지정됩니다. ResolutionUnit 이름-값 쌍의 인수를 지정하여 단위를 정의합니다.

XResolution을 함께 지정하지 않을 경우, YResolution 값은 가로와 세로 방향 모두에 적용됩니다.

예: 'YResolution',900

PNG에 대해 나열된 이름-값 쌍의 인수 이외에 키워드에 대한 PNG 사양을 충족하는 모든 파라미터 이름을 사용할 수 있습니다. 즉, 이름은 출력 가능한 문자만 사용할 수 있고, 80개 이하의 문자를 포함하며, 선행 공백 또는 후행 공백을 포함하지 않아야 합니다. 이러한 사용자 지정 이름에 해당하는 값은 라인 피드 이외의 제어 문자를 포함하지 않는 문자형 벡터 또는 string형 스칼라여야 합니다.

RAS — Sun Raster Graphic

모두 축소

각 픽셀의 투명도로, 'Alpha'와 함께 이미지 데이터 배열과 동일한 행과 열 차원을 갖는 행렬이 쉼표로 구분되어 지정됩니다.

트루컬러(mxnx3) 이미지 데이터에 대해서만 유효합니다.

데이터형: double | single | uint8 | uint16

이미지 유형으로, 'Type'과 함께 다음 표에 있는 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

Type의 값설명
'standard'(디폴트 값)트루컬러 이미지에 대한 압축되지 않은 B-G-R 색 순서
'rgb'트루컬러 이미지에 대한 압축되지 않은 R-G-B 색 순서
'rle1비트 및 8비트 이미지의 반복 길이 부호화(Run-length Encoding)

예: 'Type','rgb'

TIFF — Tagged Image File Format

모두 축소

색 데이터를 나타내는 컬러스페이스로, 'ColorSpace'와 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'rgb'

  • 'cielab'

  • 'icclab'

이미지 데이터 배열 A가 트루컬러(mxnx3)인 경우에만 유효합니다. TIFF 파일에서 CMYK 컬러스페이스를 사용하려면 'ColorSpace' 이름-값 쌍의 인수를 사용하지 마십시오. 대신 mxnx4 이미지 데이터 배열을 지정하십시오.

imwriteL*a*b* 컬러스페이스를 사용하는 컬러 이미지 데이터를 TIFF 파일에 기록할 수 있습니다. 1976 CIE L*a*b* 사양은 휘도(L*)와 색차(a*b*) 정보를 나타내는 숫자형 값을 정의합니다. L*a*b* 색 데이터를 TIFF 파일로 저장하려면 값은 8비트 또는 16비트 저장 공간에 맞게 인코딩되어야 합니다. imwrite는 다음 인코딩을 사용하여 L*a*b* 색 데이터를 TIFF 파일로 기록할 수 있습니다.

  • CIELAB 인코딩 — TIFF 사양에 의해 정의된 8비트 및 16비트 인코딩

  • ICCLAB 인코딩 — 국제 컬러 협회(International Color Consortium)에 의해 정의된 8비트 및 16비트 인코딩

다음 표에서 볼 수 있는 바와 같이, imwrite에 의해 사용되는 출력값 클래스 및 인코딩은 입력 이미지 데이터 배열의 클래스와 ColorSpace 값에 따라 달라집니다. 8비트 및 16비트 CIELAB 인코딩은 부호 있는 값과 부호 없는 값을 혼합하여 사용하고 단일 MATLAB 배열로 표현될 수 없기 때문에 입력 배열이 될 수 없습니다.

입력값 클래스 및 인코딩

ColorSpace의 값

출력값 클래스 및 인코딩

8비트 ICCLAB


값은 [0 255] 범위의 정수입니다. L* 값에 255/100을 곱합니다.
a*b* 값에 각각 128을 더합니다.

'icclab'

8비트 ICCLAB

'cielab'

8비트 CIELAB

16비트 ICCLAB


값은 [0, 65280] 범위의 정수입니다. L* 값에 65280/100을 곱합니다.
[0,65535] 범위의 정수로 표시되는 a*b* 값에 각각 32768을 더합니다.

'icclab'

16비트 ICCLAB

'cielab'

16비트 CIELAB

배정밀도 1976 CIE L*a*b*


L*은 동적 범위 [0, 100] 내에 있습니다. a*b*는 아무 값이나 취할 수 있습니다. a*b*를 0으로 설정하면 중간색(회색)이 생성됩니다.

'icclab'

8비트 ICCLAB

'cielab'

8비트 CIELAB

예: 'ColorSpace','cielab'

압축 방식으로, 'Compression'과 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'packbits'(비이진 이미지의 디폴트)

  • 'none'

  • 'lzw'

  • 'deflate'

  • 'jpeg'

  • 'ccitt'(이진 이미지만 해당되며 이진 이미지의 디폴트)

  • 'fax3'(이진 이미지만 해당됨)

  • 'fax4'(이진 이미지만 해당됨)

'jpeg'은 손실 압축 방식입니다. 다른 압축 모드는 무손실 방식입니다. 또한 'jpeg' 압축을 지정할 경우, 'RowsPerStrip' 파라미터를 지정해야만 하며, 그 값은 8의 배수여야 합니다.

예: 'Compression','none'

이미지 설명으로, 'Description'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. imfinfo가 출력 이미지의 ImageDescription 필드에 반환하는 텍스트입니다.

예: 'Description','Sample 2A301'

X 해상도 및 Y 해상도로, 'Resolution'과 함께, 두 해상도를 모두 나타내는 스칼라나 X 해상도와 Y 해상도를 포함하는, 요소를 2개 가진 벡터가 쉼표로 구분되어 지정됩니다.

예: 'Resolution',80

예: 'Resolution',[320,72]

데이터형: double

스트립에 포함할 행의 수로, 'RowsPerStrip'과 함께 스칼라가 쉼표로 구분되어 지정됩니다. 디폴트 값은 각 스트립이 약 8KB가 되게 설정됩니다.

'jpeg' 압축을 지정하는 경우에는 RowsPerStrip을 지정해야 합니다. 이 값은 8의 배수여야 합니다.

예: 'RowsPerStrip',16

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

쓰기 모드로, 'WriteMode'와 함께 'overwrite''append'가 쉼표로 구분되어 지정됩니다. overwrite 모드에서는 imwrite가 기존 파일을 덮어씁니다. append 모드에서는 imwrite가 기존 파일에 한 페이지를 추가합니다.

예: 'WriteMode','append'

  • 저작권 정보는 libtiffcopyright.txt 파일을 참조하십시오.

참고 항목

| | | | |

R2006a 이전에 개발됨