imwrite
イメージをグラフィックス ファイルに書き込む
説明
imwrite(
は、A
,filename
)filename
で指定されたファイルの拡張子からファイル形式を推測して、イメージ データ A
をそのファイルに書き込みます。imwrite
は、新しいファイルを現在のフォルダーに作成します。出力イメージのビット深度は、A
のデータ型とファイル形式によって決まります。ほとんどの形式では、次のようになります。
A
がデータ型uint8
の場合、imwrite
は 8 ビット値を出力します。A
がデータ型uint16
で、出力ファイル形式が 16 ビット データ (JPEG、PNG および TIFF) をサポートしている場合、imwrite
は 16 ビット値を出力します。出力ファイル形式が 16 ビット データをサポートしていない場合、imwrite
はエラーを返します。A
がデータ型double
またはsingle
のグレースケールまたは RGB カラー イメージの場合、imwrite
は、ダイナミック レンジを [0, 1] と仮定してデータを自動的に 255 でスケーリングしてから、8 ビット値としてファイルに書き込みます。A
のデータがsingle
の場合は、GIF または TIFF ファイルに書き込む前に、A
をdouble
に変換します。A
がデータ型logical
の場合、imwrite
はデータをバイナリ イメージと仮定し、その形式で許可されている場合は、ビット深度 1 でファイルに書き込みます。BMP、PNG、または TIFF 形式は、入力配列としてバイナリ イメージを受け入れます。
A
にインデックス付きイメージ データが含まれている場合は、map
入力引数を追加で指定する必要があります。
imwrite(___,
は、名前と値の引数を 1 つ以上使用して、GIF、HDF、JPEG、PBM、PGM、PNG、PPM および TIFF の出力ファイル用の追加パラメーターを指定します。たとえば、PNG 形式のイメージにコメントを追加できます。Name,Value
)
例
グレースケール イメージを PNG に書き込む
インデックス付きイメージ データを PNG に書き込む
インデックス付きイメージ配列およびその関連カラーマップを PNG ファイルに書き込みます。
ファイル earth.mat
からサンプル イメージ データを読み込みます。
load earth.mat
イメージ配列 X
とその関連カラーマップ map
がワークスペースに読み込まれます。
新しい PNG ファイルにデータを書き込みます。
imwrite(X,map,"myearth.png")
imwrite
によって、現在のフォルダーにファイル myearth.png
が作成されます。
imshow
を使用して新しい PNG ファイルを表示します。
imshow("myearth.png")
MATLAB カラーマップを使用したインデックス付きイメージの書き込む
組み込みの MATLAB® カラーマップ copper
を使用して新しい PNG ファイルにイメージ データを書き込みます。
ファイル earth.mat
からサンプル イメージ データを読み込みます。
load earth.mat
イメージ配列 X
とその関連カラーマップ map
がワークスペースに読み込まれます。map
は 64 RGB ベクトルの行列です。
64 RGB ベクトルで赤銅色トーン カラーマップを作成します。次に、新しいカラーマップを使用して PNG ファイルにイメージ データを書き込みます。
newmap = copper(64);
imwrite(X,newmap,"copperearth.png");
imwrite
によって、現在のフォルダーにファイル copperearth.png
が作成されます。
imshow
を使用して新しい PNG ファイルを表示します。
imshow("copperearth.png")
トゥルーカラー イメージを JPEG に書き込む
トゥルーカラー イメージ データを作成して JPEG ファイルに書き込みます。
ランダムな RGB 値の 49×49×3 の配列を作成します。
A = rand(49,49,3);
イメージ データを JPEG ファイルに書き込みます。.jpg
ファイル拡張子を使用すると、imwrite
によってこの形式が自動的に選択されます。名前と値の引数 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 ファイルに書き込む
複数のイメージを単一のマルチページ TIFF ファイルに書き込みます。
2 つのランダム イメージ データ セット im1
および im2
を作成します。
im1 = rand(50,40,3); im2 = rand(50,50,3);
最初のイメージを新しい TIFF ファイルに書き込みます。次に、2 番目のイメージを同じファイルに追加します。
imwrite(im1,"myMultipageFile.tiff") imwrite(im2,"myMultipageFile.tiff","WriteMode","append")
アニメーション GIF を書き込む
一連のプロットを描画し、それらをイメージとして取得して 1 つのアニメーション 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;
一連のイメージを 1 つの Figure に表示します。
figure; for idx = 1:nImages subplot(3,3,idx) imshow(im{idx}); end
9 つのイメージを GIF ファイルに保存します。3 次元データは GIF ファイルではサポートされていないため、rgb2ind
を呼び出し、カラーマップ map
を使用してイメージの RGB データをインデックス付きイメージ A
に変換します。複数のイメージを最初のイメージに追加するために、名前と値の引数 WriteMode
を "append"
に設定して imwrite
を呼び出します。
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 秒に指定されます。
入力引数
A
— イメージ データ
行列
イメージ データ。フル (非スパース) 行列として指定します。
グレースケール イメージの場合、
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
filename
— 出力ファイルの名前
string スカラー | 文字ベクトル
出力ファイルの名前。string スカラーまたは文字ベクトルとして指定します。
書き込み先の場所によって、filename
は次のいずれかの形式にできます。
場所 | 形式 | ||||||||
---|---|---|---|---|---|---|---|---|---|
現在のフォルダー | 現在のフォルダーに書き込むには、ファイルの名前を
例: | ||||||||
その他のフォルダー | 現在のフォルダーとは異なるフォルダーに書き込むには、絶対パス名または相対パス名を 例: 例: | ||||||||
リモートの場所 | リモートの場所に書き込むには、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
データ型: char
| string
fmt
— 出力ファイルの形式
"bmp"
| "gif"
| "hdf"
| "jpg"
| "jp2"
| ...
出力ファイルの形式。次の表のいずれかの形式として指定します。
以下の表は、imwrite
が書き込むことができるイメージのタイプも示しています。MATLAB ファイル形式レジストリは、どのファイル形式をサポートしているかを決定します。このレジストリの詳細については、imformats
を参照してください。
特定の形式については、imwrite
は追加の名前と値の引数を受け入れることができます。これらの引数を表示するには、以下のリンク付き形式名をクリックしてください。
| 出力ファイルの形式 | 説明 |
---|---|---|
| Windows® ビットマップ (BMP) | 1 ビット、8 ビット、および 24 ビットの非圧縮イメージ |
| 8 ビット イメージ | |
| 8 ビットのラスター イメージ データ セット、関連カラーマップ付きまたは関連カラーマップなし、24 ビットのラスター イメージ データ セット | |
| 8 ビット、12 ビットおよび 16 ビット Baseline JPEG イメージ メモ JPEG 形式はインデックス付きイメージをサポートしていないため、
| |
| 1 ビット、8 ビット、および 16 ビット JPEG 2000 イメージ | |
| 任意の 1 ビット PBM イメージ。エンコードされた ASCII (プレーン) または raw (バイナリ) | |
| Windows Paintbrush (PCX) | 8 ビット イメージ |
| 任意の標準的な PGM イメージ: 任意のカラー階調度をもつエンコードされた ASCII (プレーン): グレー値に対して、16 ビットまでの階調度をもつエンコードされた raw (バイナリ) | |
| 1 ビット、2 ビット、4 ビット、8 ビット、および 16 ビットのグレースケール イメージ: アルファ チャネルをもつ 8 ビットと 16 ビットのグレースケール イメージ: 1 ビット、2 ビット、4 ビット、8 ビットのインデックス付きイメージ: 24 ビットまたは 48 ビットのトゥルーカラー イメージ: アルファ チャネルをもつ 24 ビットまたは 48 ビットのトゥルーカラー イメージ
メモ 関数
| |
| PPM/PGM/PBM 形式のいずれかで、自動的に選択 | |
| 標準の PPM イメージ。任意のカラー階調度をもつエンコードされた ASCII (プレーン) またはグレー値に対して、16 ビットまでの階調度をもつエンコードされた raw (バイナリ) | |
| Sun® ラスター (RAS) | アルファをもつ 1 ビットのビットマップ、8 ビットのインデックス付き、24 ビットのトゥルーカラーおよび 32 ビットのトゥルーカラーを含む任意の RAS イメージ |
| 以下のイメージを含むベースライン TIFF イメージ
| |
| X Windows Dump (XWD) | 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
のデータを書き込みます。
BackgroundColor
— 背景色として使用する色
非負の整数スカラー
インデックス付きイメージの背景色として使用する色。カラーマップ インデックスに対応する非負の整数スカラーとして指定します。
背景色は、アニメーション GIF の一部の破棄メソッドで使用されます。
イメージ データ
A
がuint8
またはlogical
の場合、カラーマップ インデックスは 0 ベースです。イメージ データ
A
がdouble
の場合、カラーマップ インデックスは 1 ベースです。
既定の背景色はカラーマップの最初の色に対応します。
例: "BackgroundColor",15
Comment
— イメージに付加するコメント
string スカラー | 文字ベクトル | string 配列 | 文字ベクトルの cell 配列
イメージに付加するコメント。string スカラー、文字ベクトル、1 行 n 列の string 配列、または 1 行 n 列の文字ベクトルの cell 配列として指定します。string 配列、または文字ベクトルの cell 配列の場合、imwrite
は各エントリの後にキャリッジ リターンを追加します。
例: "Comment",["Sample #314","January 5, 2013"]
データ型: string
| char
| cell
DelayTime
— 次のイメージを表示するまでの遅延
0.5 (既定値) | [0, 655] の範囲のスカラー値
次のイメージを表示するまでの遅延 (秒単位)。[0, 655] の範囲のスカラー値として指定します。
ヒント
アニメーション速度を高速にするには、DelayTime
を 0.02
に設定します。DelayTime
に低い値を設定すると、多くのイメージ ビューアーや Web ブラウザーで実際のアニメーション速度が低下します。
例: "DelayTime",60
DisposalMethod
— アニメーション GIF の破棄メソッド
"doNotSpecify"
(既定値) | "leaveInPlace"
| "restoreBG"
| "restorePrevious"
アニメーション GIF の破棄メソッド。次の表のいずれかのメソッドとして指定します。
DisposalMethod の値 | 結果 |
---|---|
"doNotSpecify" (既定) | フルサイズの不透明なフレームを別のフレームに置換します。 |
"leaveInPlace" | 次のフレームによってカバーされないピクセルはすべて引き続き表示されます。 |
"restoreBG" | 背景色または背景タイルは透明なピクセルを介して表示されます。 |
"restorePrevious" | 前の状態の未処理フレームに戻します。 |
例: "DisposalMethod","restoreBG"
Location
— イメージを基準とする画面のオフセット
[0,0]
(既定値) | 2 要素ベクトル
イメージを基準とする画面のオフセット。それぞれの左上隅から測定され、2 要素ベクトルとして指定します。最初のベクトル要素は上からのオフセットを、2 番目の要素は左からのオフセットをピクセル単位で指定します。
例: "Location",[10,15]
データ型: double
LoopCount
— アニメーションを繰り返す回数
Inf
(既定値) | [0, 65,535] の範囲の整数
アニメーションを繰り返す回数。[0, 65,535] の範囲内の整数または値 Inf
として指定します。値 0
を指定するとアニメーションが 1 回再生され、値 1
を指定するとアニメーションが 2 回再生され、以降も同様の繰り返しとなります。Inf
の LoopCount
値を指定すると、アニメーションは連続的にループします。
Microsoft® PowerPoint® 内でアニメーションを有効にするには、[1, 65,535] の範囲内の LoopCount
値を指定します。Microsoft のアプリケーションによっては、値 0 をループなしと解釈するものがあります。
例: "LoopCount",3
ScreenSize
— フレームの高さと幅
入力イメージの高さと幅 (既定値) | 2 要素ベクトル
フレームの高さと幅。2 要素ベクトルとして指定します。ScreenSize
引数を Location
と一緒に使用して、フレーム全体より小さいイメージにフレームを書き込むことができます。DisposalMethod
はフレームの外側のピクセルの塗りつぶしの値を決定します。
例: "ScreenSize",[1000 1060]
データ型: double
TransparentColor
— 透明色として使用する色
非負の整数スカラー
イメージの透明色として使用する色。カラーマップ インデックスに対応する非負の整数スカラーとして指定します。
イメージ データ
A
がuint8
またはlogical
の場合、インデックスは 0 から始まります。イメージ データ
A
がdouble
の場合、インデックスは 1 から始まります。
例: "TransparentColor",20
WriteMode
— 書き込みモード
"overwrite"
(既定値) | "append"
書き込みモード。"overwrite"
または "append"
として指定します。"overwrite"
モードでは、imwrite
は既存ファイル filename
を上書きします。"append"
モードでは、imwrite
は既存ファイルにフレームを 1 つ追加します。
例: "WriteMode","append"
Compression
— 圧縮方式
"none"
(既定値) | "jpeg"
| "rle"
圧縮方式。次の表のオプションのいずれかとして指定します。
Compression の値 | 結果 |
---|---|
"none" (既定) | 圧縮なし |
"jpeg" | JPEG 圧縮。グレースケールおよび RGB イメージの場合にのみ有効です。 |
"rle" | 連長圧縮。グレースケールおよびインデックス付きイメージの場合にのみ有効です。 |
例: "Compression","jpeg"
Quality
— JPEG 圧縮ファイルの品質
75 (既定値) | [0, 100] の範囲のスカラー
JPEG 圧縮ファイルの品質。[0, 100] の範囲のスカラーとして指定します。ここで、0 は低品質で高圧縮、100 は高品質で低圧縮です。このパラメーターは、Compression
が "jpeg"
の場合にのみ適用されます。
例: "Quality",25
WriteMode
— 書き込みモード
"overwrite"
(既定値) | "append"
書き込みモード。"overwrite"
または "append"
として指定します。"overwrite"
モードでは、imwrite
は既存ファイル filename
を上書きします。"append"
モードでは、imwrite
は既存ファイルにフレームを 1 つ追加します。
例: "WriteMode","append"
BitDepth
— ピクセルあたりのビット数
8
(既定値) | 12
| 16
ピクセルあたりのビット数。スカラーとして指定します。
グレースケール イメージの場合、
BitDepth
値は8
、12
、または16
にすることができます。既定値は8
です。16 ビット イメージの場合、名前と値の引数Mode
は"lossless"
でなければなりません。カラー イメージの場合、
BitDepth
値は平面あたりのビット数で8
または12
にすることができます。既定値は平面あたり 8 ビットです。
例: "BitDepth",12
Comment
— イメージに付加するコメント
string スカラー | 文字ベクトル | string 配列 | 文字ベクトルの cell 配列
イメージに付加するコメント。string スカラー、文字ベクトル、n 行 1 列の string 配列、または n 行 1 列の文字ベクトルの cell 配列として指定します。string 配列、または文字ベクトルの cell 配列の場合、imwrite
は、入力の各行をコメントとして JPEG ファイルに書き込みます。
例: "Comment",["First comment";"second comment";"third comment"]
データ型: string
| char
| cell
Mode
— 圧縮のタイプ
"lossy"
(既定値) | "lossless"
圧縮のタイプ。"lossy"
または "lossless"
として指定します。
例: "Mode","lossless"
Quality
— 出力ファイルの品質
75 (既定値) | [0, 100] の範囲のスカラー
出力ファイルの品質。[0, 100] の範囲のスカラーとして指定します。ここで、0 は低品質で高圧縮、100 は高品質で低圧縮です。Quality
値を 100 にすると、可逆 JPEG イメージは書き込まれません。代わりに、名前と値の引数 Mode
を "lossless"
に設定します。
例: "Quality",100
Comment
— イメージに付加するコメント
string スカラー | 文字ベクトル | string 配列 | 文字ベクトルの cell 配列
イメージに付加するコメント。string スカラー、文字ベクトル、string 配列、または文字ベクトルの cell 配列として指定します。string 配列、または文字ベクトルの cell 配列の場合、imwrite
は、各エントリをコメントとして JPEG 2000 ファイルに列優先の順序で書き込みます。
例: "Comment",["First comment";"second comment";"third comment"]
例: "Comment",{'First comment','second comment','third comment'}
データ型: string
| char
| cell
CompressionRatio
— ターゲットの圧縮率
1 (既定値) | 正のスカラー
ターゲットの圧縮率。1 以上の正のスカラーとして指定します。圧縮率は、入力イメージのサイズと出力の圧縮サイズの比率です。たとえば、2 という値は、出力イメージのサイズが入力イメージのサイズの半分以下になることを意味します。大きな値を指定すると、ファイル サイズは小さくなりますが、画質が低下します。圧縮率では、ヘッダー サイズは考慮されません。
CompressionRatio
は、Mode
が "lossy"
の場合にのみ指定できます。
例: "CompressionRatio",3
Mode
— 圧縮のタイプ
"lossy"
(既定値) | "lossless"
圧縮のタイプ。"lossy"
または "lossless"
として指定します。
例: "Mode","lossless"
ProgressionOrder
— コード ストリーム内のパケットの順序
"LRCP"
(既定値) | "RLCP"
| "RPCL"
| "PCRL"
| "CPRL"
コード ストリーム内のパケットの順序。次のオプションのいずれかとして指定します。
"LRCP"
"RLCP"
"RPCL"
"PCRL"
"CPRL"
これらの文字はパケットを表しており、L
=layer、R
=resolution、C
=component、および P
=position です。
例: "ProgressionOrder","RLCP"
QualityLayers
— 品質層の数
1 (既定値) | [1, 20] の範囲の整数
品質層の数。[1, 20] の範囲の整数として指定します。
例: "QualityLayers",8
ReductionLevels
— 低減レベルの数
4 (既定値) | [1, 8] の範囲の整数
低減レベルまたはウェーブレット分解レベルの数。[1, 8] の範囲の整数として指定します。
例: "ReductionLevels",6
TileSize
— タイルの高さと幅
イメージ サイズ (既定値) | 2 要素ベクトル
タイルの高さと幅。2 要素ベクトルとして指定します。指定できる最小サイズは [128 128]
です。
例: "TileSize",[130 130]
Encoding
— エンコード
"rawbits"
(既定値) | "ASCII"
エンコード。"rawbits"
(バイナリ エンコードの場合) または "ASCII"
(プレーン エンコードの場合) として指定します。
例: "Encoding","ASCII"
MaxValue
— 最大グレーまたはカラー値
正の整数スカラー
最大グレーまたはカラー値。正の整数スカラーとして指定します。
この名前と値の引数は PGM および PPM ファイルに対してのみ指定します。PBM ファイルでは、この値は常に 1
です。
イメージ配列が uint16
の場合、MaxValue
の既定値は 65535
です。そうでない場合は、既定値は 255
です。
例: "MaxValue",510
Alpha
— 各ピクセルの透明度
範囲 [0, 1] の値の行列
各ピクセルの透明度。範囲 [0, 1] の値の行列として指定します。Alpha
行列の行と列の次元は、イメージ データ配列の行と列の次元と同じでなければなりません。Alpha
は、グレースケール (m 行 n 列) およびトゥルーカラー (m×n×3) イメージ データに対してのみ指定できます。
メモ
Alpha
と Transparency
の両方を同時に指定することはできません。
データ型: double
| uint8
| uint16
Author
— 作成者情報
string スカラー | 文字ベクトル
作成者情報。string スカラーまたは文字ベクトルとして指定します。
例: "Author","Ann Smith"
データ型: string
| char
Background
— 透明ピクセルを合成するときの背景色
[0, 1] の範囲のスカラー | [1, P] の範囲の整数 | [0, 1] の範囲の 3 要素ベクトル
透明ピクセルを合成するときの背景色。次の表に示すように、イメージ データ依存の値として指定します。
イメージ タイプ | Background 値の形式 |
---|---|
グレースケール イメージ | [0, 1] の範囲のスカラー。 |
インデックス付きイメージ | [1, P] の範囲の整数。ここで P はカラーマップの長さです。たとえば、"Background",50 と指定すると、背景色はカラーマップの 50 番目のインデックスで指定された色に設定されます。 |
トゥルーカラー イメージ | [0, 1] の範囲の RGB 強度からなる 3 要素ベクトル。たとえば、"Background",[0 1 1] と指定すると、背景色はシアンに設定されます。 |
データ型: double
BitDepth
— ピクセルあたりのビット数
1
| 2
| 4
| 8
| 16
ピクセルあたりのビット数。スカラーとして指定します。出力イメージに応じて、スカラーは以下のいずれかの値にすることができます。
イメージ タイプ | BitDepth に指定できる値 |
---|---|
グレースケール イメージ | 1 、2 、4 、8 または 16 |
アルファ チャネルをもつグレースケール イメージ | 8 または 16 |
インデックス付きイメージ | 1 、2 、4 、または 8 |
トゥルーカラー イメージ | 8 または 16 |
イメージの型が
double
またはuint8
の場合、既定のビット深度はピクセルあたり 8 ビットです。イメージの型が
uint16
の場合、既定値はピクセルあたり 16 ビットです。イメージの型が
logical
の場合、既定値はピクセルあたり 1 ビットです。
例: "BitDepth",4
Chromaticities
— 基準白色点と原色の色度
8 要素ベクトル
基準白色点と原色の色度。[wx wy rx ry gx gy bx by]
の形式の 8 要素ベクトルとして指定します。要素 wx
および wy
は白色点の色度座標で、要素 rx
、ry
、gx
、gy
、bx
および by
は、それぞれ赤、緑、青の色度座標です。
Chromaticities
を指定する場合は、名前と値の引数 Gamma
も指定する必要があります。
例: "Chromaticities",[0.312,0.329,0.002,0.002,0.001,0.001,0.115,0.312]
データ型: double
Comment
— イメージに付加するコメント
string スカラー | 文字ベクトル
イメージに付加するコメント。string スカラーまたは文字ベクトルとして指定します。
Copyright
— 著作権情報
string スカラー | 文字ベクトル
著作権情報。string スカラーまたは文字ベクトルとして指定します。
CreationTime
— 元のイメージの作成時間
datetime | string スカラー | 文字ベクトル
元のイメージの作成時間。ある時点を表す datetime、string スカラー、または文字ベクトルとして指定します。タイム ゾーンをもつ datetime
値として CreationTime
を指定した場合、imwrite
はそのタイム ゾーンを値の一部として保存します。
例: "CreationTime",datetime("1955-11-12 10:04 PM","TimeZone","America/Los_Angeles")
Description
— イメージの説明
string スカラー | 文字ベクトル
イメージの説明。string スカラーまたは文字ベクトルとして指定します。
Disclaimer
— 法的放棄声明
string スカラー | 文字ベクトル
法的放棄声明。string スカラーまたは文字ベクトルとして指定します。
Gamma
— ファイル ガンマ
数値スカラー
ファイル ガンマ。数値スカラーとして指定します。
例: "Gamma",2.2
ImageModTime
— イメージの最終変更時間
datetime | string スカラー | 文字ベクトル
イメージの最終変更時間。ある時点を表す datetime、string スカラー、または文字ベクトルとして指定します。UTC 以外のタイム ゾーンをもつ datetime
値として ImageModTime
を指定した場合、imwrite
は、値を保存する前に UTC に変換します。タイム ゾーンのない datetime
値として ImageModTime
を指定した場合、imwrite
は値を UTC として解釈します。
既定の ImageModTime
値は、imwrite
を呼び出した時間です。
例: "ImageModTime",datetime("2018-04-01 9:00 AM","TimeZone","Europe/Rome")
InterlaceType
— インターレース スキーム
"none"
(既定値) | "adam7"
インターレース スキーム。"none"
(インターレースなしの場合) または "adam7"
(Adam7 アルゴリズムを使用する場合) として指定します。
例: "InterlaceType","adam7"
ResolutionUnit
— イメージ解像度の単位
"unknown"
(既定値) | "meter"
イメージ解像度の単位。"unknown"
または "meter"
として指定します。ResolutionUnit
を指定する場合は、名前と値の引数 XResolution
と YResolution
のうちの少なくとも 1 つを含めなければなりません。ResolutionUnit
の値が "meter"
の場合、XResolution
と YResolution
の値はメートルあたりのピクセルとして解釈されます。
例: "ResolutionUnit","meter","XResolution",1000
SignificantBits
— 有効となるビット数
[]
(既定値) | 正の整数スカラー | 正の整数ベクトル
データ配列の有効ビットの数。[1,BitDepth
] の範囲のスカラーまたはベクトルとして指定します。出力イメージ タイプに応じて、値は以下のいずれかの形式で指定する必要があります。
イメージ タイプ | SignificantBits 値の形式 |
---|---|
アルファ チャネルをもたないグレースケール イメージ | スカラー |
アルファ チャネルをもつグレースケール イメージ | 2 要素ベクトル |
インデックス付きイメージ | 3 要素ベクトル |
アルファ チャネルをもたないトゥルーカラー イメージ | 3 要素ベクトル |
アルファ チャネルをもつトゥルーカラー イメージ | 4 要素ベクトル |
例: "SignificantBits",[2,3]
Software
— イメージの作成に使用されるソフトウェア
string スカラー | 文字ベクトル
イメージの作成に使用されるソフトウェア。string スカラーまたは文字ベクトルとして指定します。
Source
— イメージの作成に使用されるデバイス
string スカラー | 文字ベクトル
イメージの作成に使用されるデバイス。string スカラーまたは文字ベクトルとして指定します。
Transparency
— 透明と見なすピクセル
[]
(既定値) | [0, 1] の範囲のスカラー | ベクトル
アルファ チャネルが使用されない場合に透明と見なすピクセル。スカラーまたはベクトルとして指定します。出力イメージに応じて、値は以下のいずれかの形式で指定する必要があります。
イメージ タイプ | Transparency 値の形式 |
---|---|
グレースケール イメージ | 透明と見なされるグレースケール カラーを示す、[0, 1] の範囲のスカラー。 |
インデックス付きイメージ | [0, 1] の範囲の値からなる Q- 要素ベクトル。ここで、Q はカラーマップ長より短く、各値は対応するカラーマップ要素に関連付けられた透明度を示します。多くの場合、Q は 1 です。 |
トゥルーカラー イメージ | 透明と見なされるトゥルーカラーを示す、[0, 1] の範囲の RGB 強度からなる 3 要素ベクトル。 |
メモ
Transparency
と Alpha
の両方を同時に指定することはできません。
例: "Transparency",[1 1 1]
データ型: double
Warning
— コンテンツの性質に関する警告
string スカラー | 文字ベクトル
コンテンツの性質に関する警告。string スカラーまたは文字ベクトルとして指定します。
XResolution
— 水平方向のイメージ解像度
数値スカラー
水平方向のイメージ解像度 (ピクセル/単位)。数値スカラーとして指定します。名前と値の引数 ResolutionUnit
を指定して単位を定義します。
YResolution
を合わせて指定しない場合、XResolution
値は水平方向と垂直方向の両方に適用されます。
例: "XResolution",900
YResolution
— 垂直方向のイメージ解像度
数値スカラー
垂直方向のイメージ解像度 (ピクセル/単位)。数値スカラーとして指定します。名前と値の引数 ResolutionUnit
を指定して単位を定義します。
XResolution
を合わせて指定しない場合、YResolution
値は垂直方向と水平方向の両方に適用されます。
例: "YResolution",900
PNG 用にリストされた名前と値の引数に加えて、キーワードに PNG 仕様を満たす任意のパラメーター名を使用できます。つまり、前後にスペースを含まない 80 文字以内の表示可能な文字を名前に使用できます。これらのユーザー指定の名前に対応する値は、改行以外の制御文字を含まない string スカラーまたは文字ベクトルでなければなりません。
Alpha
— 各ピクセルの透明度
[]
(既定値) | 行列
各ピクセルの透明度。イメージ データ配列と同じ行と列の次元をもつ行列として指定します。
この名前と値の引数は、トゥルーカラー (m×n×3) イメージ データの場合にのみ有効です。
データ型: double
| single
| uint8
| uint16
Type
— イメージ タイプ
"standard"
(既定値) | "rgb"
| "rle"
イメージ タイプ。次の表のオプションのいずれかとして指定します。
Type の値 | 説明 |
---|---|
"standard" (既定) | 非圧縮、トゥルーカラー イメージの場合 B-G-R |
"rgb" | 非圧縮、トゥルーカラー イメージの場合 R-G-B |
"rle" | 1 ビットおよび 8 ビット イメージの連長圧縮 |
例: "Type","rgb"
ColorSpace
— 色データを表す色空間
"rgb"
(既定値) | "cielab"
| "icclab"
色データを表す色空間。"rgb"
、"cielab"
、または "icclab"
として指定します。
この名前と値の引数は、イメージ データ配列 A
がトゥルーカラー (m×n×3) の場合にのみ有効です。TIFF ファイルで CMYK 色空間を使用する場合は、名前と値の引数 ColorSpace
を使用しないでください。代わりに、m×n×4 のイメージ データ配列を指定します。
imwrite
は、L*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 (ICC) で定義された 8 ビットまたは 16 ビットのエンコード
imwrite
で使用される出力クラスとエンコードは、以下の表に示すように、入力イメージ データ配列のクラスと ColorSpace
値によって異なります。(8 ビットおよび 16 ビットの CIELAB エンコードは符号付きと符号なしの値を混ぜて使用し、1 つの MATLAB 配列として表すことができないため、入力配列にはできません)。
入力クラスおよびエンコード |
| 出力クラスおよびエンコード |
---|---|---|
8 ビット ICCLAB 値は範囲 [0, 255] の整数です。"L*" の値に |
| 8 ビット ICCLAB |
| 8 ビット CIELAB | |
16 ビット ICCLAB 値は範囲 [0, 65,280] の整数です。"L*" の値に |
| 16 ビット ICCLAB |
| 16 ビット CIELAB | |
倍精度 1976 CIE L*a*b* の値 L* は動的範囲 [0, 100] です。a* と b* には、任意の値を使用できます。"a*" と "b*" を |
| 8 ビット ICCLAB |
| 8 ビット CIELAB |
例: "ColorSpace","cielab"
Compression
— 圧縮方式
"packbits"
| "none"
| "lzw"
| "deflate"
| "jpeg"
| "ccitt"
| "fax3"
| "fax4"
圧縮方式。次のオプションのいずれかとして指定します。
"packbits"
(非バイナリ イメージの既定の設定)"none"
"lzw"
"deflate"
"jpeg"
"ccitt"
(バイナリ イメージ専用でバイナリ イメージの既定の設定)"fax3"
(バイナリ イメージ専用)"fax4"
(バイナリ イメージ専用)
"jpeg"
は非可逆圧縮方式で、他の圧縮モードは可逆です。また、"jpeg"
圧縮を指定した場合は、名前と値の引数 RowsPerStrip
も指定しなければならず、その値は 8 の倍数でなければなりません。
例: "Compression","none"
Description
— イメージの説明
string スカラー | 文字ベクトル
イメージの説明。string スカラーまたは文字ベクトルとして指定します。この説明は、imfinfo
が出力イメージの ImageDescription
フィールドで返すテキストです。
例: "Description","Sample 2A301"
Resolution
— X および Y 解像度
72 (既定値) | スカラー | 2 要素ベクトル
X および Y 解像度。X 解像度と Y 解像度の両方を示すスカラー、または X 解像度と Y 解像度を含む 2 要素ベクトルとして指定します。
例: "Resolution",80
例: "Resolution",[320,72]
データ型: double
RowsPerStrip
— 各ストリップに含める行の数
正の整数スカラー
各ストリップに含める行の数。スカラーとして指定します。既定値は、各ストリップがおよそ 8 キロバイトになる値です。
"jpeg"
圧縮を指定する場合は、RowsPerStrip
を指定しなければなりません。この場合、値は 8 の倍数でなければなりません。
例: "RowsPerStrip",16
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
WriteMode
— 書き込みモード
"overwrite"
(既定値) | "append"
書き込みモード。"overwrite"
または "append"
として指定します。"overwrite"
モードでは、imwrite
は既存ファイルを上書きします。"append"
モードでは、imwrite
は既存ファイルにページを 1 つ追加します。
例: "WriteMode","append"
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
使用上の注意事項および制限事項:
imwrite
は、backgroundPool
または Parallel Computing Toolbox™ のThreadpool
を使用してバックグラウンドでimwrite
を実行する場合、階層データ形式 (HDF)、SVS、または TIFF ファイルの読み取りはサポートしません。
詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2022b: PNG メタデータに対する datetime
の使用
datetime
値を使用して、名前と値の引数 CreationTime
および ImageModTime
を指定できます。
R2021b: スレッドベースの環境のサポート
MATLAB backgroundPool
を使用して、バックグラウンドで imwrite
を実行できます。
R2021b: JPEG 2000 イメージでのピクセルの違い
R2021b 以前のリリースの MATLAB では、JPEG 2000 イメージ間でピクセル値が異なる可能性があります。
R2019b: カラーマップの要素数が不足しているインデックス付き PNG ファイルの書き込みはサポートされない
インデックス付き PNG ファイルを書き込む場合、イメージを正確に解釈するために十分な要素数をもつカラーマップを指定する必要があります。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは 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)