Main Content

imwrite

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

설명

예제

imwrite(A,filename)은 확장자에서 파일 형식을 유추하여 filename에서 지정된 파일에 이미지 데이터 A를 씁니다. imwrite는 사용자의 현재 폴더에 새 파일을 생성합니다. 출력 이미지의 비트 심도는 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 출력 파일에 대한 추가 파라미터를 지정합니다. 예를 들어, PNG 형식의 이미지에 주석을 추가할 수 있습니다.

예제

모두 축소

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

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

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

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

load earth.mat

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

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

imwrite(X,map,"myearth.png")

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

imshow를 사용하여 새 PNG 파일을 봅니다.

imshow("myearth.png")

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

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

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

load earth.mat

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

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

newmap = copper(64);
imwrite(X,newmap,"copperearth.png");

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

imshow를 사용하여 새 PNG 파일을 봅니다.

imshow("copperearth.png")

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

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

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

A = rand(49,49,3);

이미지 데이터를 JPEG 파일에 씁니다. imwrite.jpg 파일 확장자를 사용할 때 이 형식을 자동 선택합니다. Comment 이름-값 인수를 사용하여 파일에 주석을 추가합니다.

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

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

info = imfinfo("newImage.jpg");
info.ColorType
ans = 
'truecolor'
[info.Height,info.Width,info.NumberOfSamples,info.BitDepth]
ans = 1×4

    49    49     3    24

info.Comment
ans = 1x1 cell array
    {'My JPEG file'}

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

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

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

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

imwrite(im1,"myMultipageFile.tiff")
imwrite(im2,"myMultipageFile.tiff","WriteMode","append")

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

n=3에 대해 y=xn을 플로팅합니다.

x = 0:0.01:1;
n = 3;
y = x.^n;
plot(x,y,"LineWidth",3)
title("y = x^n,  n = " + num2str(n))

Figure contains an axes object. The axes object with title y = blank x toThePowerOf n baseline , blank blank n blank = blank 3 contains an object of type line.

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

Figure contains an axes object. The axes object with title y = blank x toThePowerOf n baseline , blank blank n blank = blank 1 contains an object of type line.

close;

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

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

Figure contains 9 axes objects. Axes object 1 contains an object of type image. Axes object 2 contains an object of type image. Axes object 3 contains an object of type image. Axes object 4 contains an object of type image. Axes object 5 contains an object of type image. Axes object 6 contains an object of type image. Axes object 7 contains an object of type image. Axes object 8 contains an object of type image. Axes object 9 contains an object of type image.

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

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 파일을 추가합니다. LoopCountInf에 설정하면 애니메이션이 계속 반복됩니다. DelayTime1에 설정하면 애니메이션의 각 이미지 간에 1초의 지연 시간을 지정합니다.

입력 인수

모두 축소

이미지 데이터로, 비희소 형식 행렬로 지정됩니다.

  • 회색조 이미지의 경우 A는 m×n 행렬이 될 수 있습니다.

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

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

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

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

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

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

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

위치

형식

현재 폴더

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

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

예: "myImage.jpg"

다른 폴더

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

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

예: "\imgDir\myImage.ext"

원격 위치

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

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의 인덱스 이미지 데이터에 대한 컬러맵으로, m×3 배열로 지정됩니다. 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비트 트루컬러 이미지

참고

imwrite 함수는 컬러맵 요소가 불충분한 인덱스 PNG 파일의 쓰기를 지원하지 않습니다.

"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

이름-값 인수

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

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

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

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

GIF — Graphics Interchange Format

모두 축소

인덱스 이미지에 사용할 배경색으로, 컬러맵 인덱스에 대응하는 음이 아닌 정수 스칼라로 지정됩니다.

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

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

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

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

예: "BackgroundColor",15

이미지에 추가할 주석으로, string형 스칼라, 문자형 벡터, 문자형 벡터로 구성된 1×n 셀형 배열 또는 1×n string형 배열로 지정됩니다. 문자형 벡터로 구성된 셀형 배열 또는 string형 배열의 경우, imwrite는 각 요소 다음에 캐리지 리턴을 추가합니다.

예: "Comment",["Sample #314","January 5, 2013"]

데이터형: string | char | cell

다음 이미지가 표시될 때까지의 초 단위의 지연 시간으로, [0, 655] 범위의 스칼라 값으로 지정됩니다.

애니메이션 속도를 높이려면 DelayTime0.02로 설정하십시오. DelayTime을 낮은 값으로 설정하면 여러 이미지 뷰어와 웹 브라우저에서 실제 애니메이션 속도가 느려집니다.

예: "DelayTime",60

애니메이션 GIF의 처리 방법으로, 다음 표에 있는 메서드로 지정됩니다.

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

예: "DisposalMethod","restoreBG"

각각의 왼쪽 위 코너에서 측정된 이미지를 기준으로 하는 화면의 오프셋으로, 요소를 2개 가진 벡터로 지정됩니다. 첫 번째 벡터 요소는 상부로부터의 오프셋을, 두 번째 요소는 왼쪽으로부터의 오프셋을 픽셀 단위로 지정합니다.

예: "Location",[10,15]

데이터형: double

애니메이션이 반복되는 횟수로, [0, 65,535] 범위의 정수나 값 Inf로 지정됩니다. 값 0을 지정할 경우 애니메이션이 한 번 재생되고, 값 1을 지정할 경우, 애니메이션이 두 번 재생되는 식으로 진행됩니다. InfLoopCount 값은 애니메이션이 계속 반복되도록 합니다.

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

예: "LoopCount",3

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

예: "ScreenSize",[1000 1060]

데이터형: double

이미지에 사용할 투명 색상으로, 컬러맵 인덱스에 대응하는 음이 아닌 정수 스칼라로 지정됩니다.

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

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

예: "TransparentColor",20

쓰기 모드로, "overwrite" 또는 "append"로 지정됩니다. "overwrite" 모드에서는 imwrite가 기존 파일 filename을 덮어씁니다. "append" 모드에서는 imwrite가 기존 파일에 단일 프레임을 추가합니다.

예: "WriteMode","append"

HDF4 — Hierarchical Data Format

모두 축소

압축 방식으로, 다음 표에 나와 있는 옵션 중 하나로 지정됩니다.

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

예: "Compression","jpeg"

JPEG 압축 파일의 품질로, 범위 [0, 100]의 스칼라로 지정됩니다. 여기서 0은 낮은 품질과 높은 압축률, 100은 높은 품질과 낮은 압축률을 나타냅니다. 이 파라미터는 Compression"jpeg"인 경우에만 적용됩니다.

예: "Quality",25

쓰기 모드로, "overwrite" 또는 "append"로 지정됩니다. "overwrite" 모드에서는 imwrite가 기존 파일 filename을 덮어씁니다. "append" 모드에서는 imwrite가 기존 파일에 단일 프레임을 추가합니다.

예: "WriteMode","append"

JPEG — Joint Photographic Experts Group

모두 축소

픽셀당 비트 수로, 스칼라로 지정됩니다.

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

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

예: "BitDepth",12

이미지에 추가할 주석으로, string형 스칼라, 문자형 벡터, 문자형 벡터로 구성된 n×1 셀형 배열 또는 n×1 string형 배열로 지정됩니다. 문자형 벡터의 셀형 배열 또는 string형 배열의 경우, imwrite는 JPEG 파일에서 입력의 각 행을 주석으로 씁니다.

예: "Comment",["First comment";"second comment";"third comment"]

데이터형: string | char | cell

압축 유형으로, "lossy" 또는 "lossless"로 지정됩니다.

예: "Mode","lossless"

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

예: "Quality",100

JPEG 2000— Joint Photographic Experts Group 2000

모두 축소

이미지에 추가할 주석으로, string형 스칼라, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 문자형 벡터의 셀형 배열 또는 string형 배열의 경우, imwrite는 JPEG 2000 파일에서 요소의 각 행을 열 우선(column-major) 순서를 사용한 주석으로 씁니다.

예: "Comment",["First comment";"second comment";"third comment"]

예: "Comment",{'First comment','second comment','third comment'}

데이터형: string | char | cell

대상 압축률로, 1보다 크거나 같은 양의 스칼라로 지정됩니다. 압축률은 압축된 출력 크기에 대한 입력 이미지 크기의 비율입니다. 예를 들어, 값이 2이면 출력 이미지 크기가 입력 이미지 크기의 절반 이하인 것을 의미합니다. 값이 높을수록 파일 크기가 더 작아지고 이미지 품질이 더욱 저하됩니다. 압축률은 헤더 크기를 고려하지 않습니다.

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

예: "CompressionRatio",3

압축 유형으로, "lossy" 또는 "lossless"로 지정됩니다.

예: "Mode","lossless"

코드 스트림의 패킷 순서로, 다음 옵션 중 하나로 지정됩니다.

  • "LRCP"

  • "RLCP"

  • "RPCL"

  • "PCRL"

  • "CPRL"

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

예: "ProgressionOrder","RLCP"

품질 계층 수로, [1, 20] 범위의 정수로 지정됩니다.

예: "QualityLayers",8

감소 레벨 또는 웨이블릿(Wavelet) 분해 레벨의 수로, 범위 [1, 8]의 정수로 지정됩니다.

예: "ReductionLevels",6

타일 높이와 너비로, 요소를 2개 가진 벡터로 지정됩니다. 지정할 수 있는 최소 크기는 [128 128]입니다.

예: "TileSize",[130 130]

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

모두 축소

인코딩으로, 이진 인코딩용인 "rawbits"나 일반 인코딩용인 "ASCII"로 지정됩니다.

예: "Encoding","ASCII"

최대 회색 또는 색 값으로, 양의 정수 스칼라로 지정됩니다.

이 이름-값 인수를 PGM 및 PPM 파일에만 지정합니다. PBM 파일의 경우, 이 값은 항상 1입니다.

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

예: "MaxValue",510

PNG — Portable Network Graphics

모두 축소

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

참고

AlphaTransparency는 동시에 지정할 수 없습니다.

데이터형: double | uint8 | uint16

작성자 정보로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

예: "Author","Ann Smith"

데이터형: string | char

투명 픽셀을 합성할 때의 배경색으로, 이 표에서와 같이 이미지 데이터 의존 값으로 지정됩니다.

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

데이터형: double

픽셀당 비트 수로, 스칼라로 지정됩니다. 출력 이미지에 따라, 스칼라 값은 이 값 중 하나가 될 수 있습니다.

이미지 유형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

기준 흰색 점과 기본 색도로, [wx wy rx ry gx gy bx by] 형식의, 요소를 8개 가진 벡터로 지정됩니다. 요소 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

이미지에 추가할 주석으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

원본 이미지 생성 시간으로, 시점을 나타내는 datetime형, string형 스칼라, 문자형 벡터 중 하나로 지정됩니다. CreationTime을 표준 시간대가 있는 datetime형 값으로 지정하면 imwrite는 표준 시간대를 값의 일부로 저장합니다.

예: "CreationTime",datetime("1955-11-12 10:04 PM","TimeZone","America/Los_Angeles")

이미지 설명으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

법적 고지로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

파일 감마로, 숫자형 스칼라로 지정됩니다.

예: "Gamma",2.2

마지막 이미지 수정 시간으로, 시점을 나타내는 datetime형, string형 스칼라, 문자형 벡터 중 하나로 지정됩니다. ImageModTime을 UTC가 아닌 표준 시간대가 있는 datetime형 값으로 지정하면 imwrite는 해당 값을 저장하기 전에 UTC로 변환합니다. ImageModTime을 표준 시간대가 없는 datetime형 값으로 지정하면 imwrite가 해당 값을 UTC로 해석합니다.

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

예: "ImageModTime",datetime("2018-04-01 9:00 AM","TimeZone","Europe/Rome")

인터레이스 방식으로, 인터레이스를 사용하지 않으면 "none"으로, Adam7 알고리즘을 사용하려면 "adam7"으로 지정됩니다.

예: "InterlaceType","adam7"

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

예: "ResolutionUnit","meter","XResolution",1000

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

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

예: "SignificantBits",[2,3]

이미지 생성에 사용되는 소프트웨어로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

이미지 생성에 사용되는 장치로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

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

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

참고

TransparencyAlpha는 동시에 지정할 수 없습니다.

예: "Transparency",[1 1 1]

데이터형: double

내용의 특징에 대한 경고로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

가로 방향 이미지 해상도(단위: 픽셀/단위)로, 숫자형 스칼라로 지정됩니다. ResolutionUnit 이름-값 인수를 지정하여 단위를 정의합니다.

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

예: "XResolution",900

세로 방향 이미지 해상도(단위: 픽셀/단위)로,숫자형 스칼라로 지정됩니다. ResolutionUnit 이름-값 인수를 지정하여 단위를 정의합니다.

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

예: "YResolution",900

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

RAS — Sun Raster Graphic

모두 축소

각 픽셀의 투명도로, 이미지 데이터 배열과 동일한 행과 열 차원을 갖는 행렬로 지정됩니다.

이 이름-값 인수는 트루컬러(m×n×3) 이미지 데이터에 대해서만 유효합니다.

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

이미지 유형으로, 다음 표에 나와 있는 옵션 중 하나로 지정됩니다.

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

예: "Type","rgb"

TIFF — Tagged Image File Format

모두 축소

색 데이터를 나타내는 컬러스페이스로, "rgb", "cielab" 또는 "icclab"로 지정됩니다.

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

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* 값에 2.55을 곱합니다.
a*b* 값에 각각 128을 더합니다.

"icclab"

8비트 ICCLAB

"cielab"

8비트 CIELAB

16비트 ICCLAB


값은 [0, 65,280] 범위의 정수입니다. L* 값에 652.8을 곱합니다.
[0, 65,535] 범위의 정수로 표시되는 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"

압축 방식으로, 다음 옵션 중 하나로 지정됩니다.

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

  • "none"

  • "lzw"

  • "deflate"

  • "jpeg"

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

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

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

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

예: "Compression","none"

이미지 설명으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 설명은 imfinfo가 출력 이미지의 ImageDescription 필드에 반환하는 텍스트입니다.

예: "Description","Sample 2A301"

X 해상도 및 Y 해상도로, X 및 Y 해상도를 모두 나타내는 스칼라나 X 해상도와 Y 해상도를 포함하는, 요소를 2개 가진 벡터로 지정됩니다.

예: "Resolution",80

예: "Resolution",[320,72]

데이터형: double

각 스트립에 포함할 행의 수로, 스칼라로 지정됩니다. 디폴트 값은 각 스트립이 약 8KB가 되게 설정됩니다.

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

예: "RowsPerStrip",16

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

쓰기 모드로, "overwrite" 또는 "append"로 지정됩니다. "overwrite" 모드에서는 imwrite가 기존 파일을 덮어씁니다. "append" 모드에서는 imwrite가 기존 파일에 한 페이지를 추가합니다.

예: "WriteMode","append"

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | | | |