writeEncodedStrip
指定されたストリップへのデータの書き込み
説明
writeEncodedStrip(
は、t
,stripNumber
,imageData
)Tiff
オブジェクト t
に関連付けられた TIFF ファイルの stripNumber
で指定されたストリップに imageData
を書き込みます。
例
TIFF ファイルへのイメージ ストリップの書き込み
TIFF ファイルから 2 つのストリップを読み取り、新しい TIFF ファイルの別の位置に書き込みます。
イメージ データがストリップ レイアウトで格納された TIFF ファイルを開き、イメージ データとイメージ内のストリップの数を取得します。
tr = Tiff('peppers_RGB_stripped.tif','r'); imageR = read(tr); nStrips = numberOfStrips(tr)
nStrips = 6
イメージの 2 番目と 5 番目のストリップを読み取ります。
stripTwo = readEncodedStrip(tr,2); stripFive = readEncodedStrip(tr,5);
新しいファイル用に Tiff
オブジェクトを作成し、イメージとタグの情報を最初のファイルからコピーします。
tw = Tiff('write_strip.tif','w'); tagstruct.ImageLength = getTag(tr,'ImageLength'); tagstruct.ImageWidth = getTag(tr,'ImageWidth'); tagstruct.Photometric = getTag(tr,'Photometric'); tagstruct.RowsPerStrip = getTag(tr,'RowsPerStrip'); tagstruct.BitsPerSample = getTag(tr,'BitsPerSample'); tagstruct.SamplesPerPixel = getTag(tr,'SamplesPerPixel'); tagstruct.PlanarConfiguration = getTag(tr,'PlanarConfiguration'); setTag(tw,tagstruct); write(tw,imageR)
stripFive
をストリップ番号 2
の位置に書き込み、stripTwo
をストリップ番号 5
の位置に書き込みます。
writeEncodedStrip(tw,2,stripFive); writeEncodedStrip(tw,5,stripTwo);
新しいイメージを読み取り、元のイメージの隣に表示します。
imageW = read(tw); subplot(121); imshow(imageR); title('Original Image') subplot(122); imshow(imageW); title('Strips Shuffled Image')
Tiff
オブジェクトを閉じます。
close(tr); close(tw);
YCbCr TIFF ファイルへのイメージ ストリップの書き込み
YCbCr TIFF ファイルから 2 つのストリップを読み取り、新しい TIFF ファイルの別の位置に書き込みます。
YCbCr イメージ データがストリップ レイアウトで格納された TIFF ファイルを開き、イメージ データとイメージ内のストリップの数を取得します。
tr = Tiff('peppers_YCbCr_stripped.tif','r'); [Yr,Cbr,Crr] = read(tr); nStrips = numberOfStrips(tr)
nStrips = 6
イメージの 2
番目と 5
番目のストリップを読み取ります。
[Y2,Cb2,Cr2] = readEncodedStrip(tr,2); [Y5,Cb5,Cr5] = readEncodedStrip(tr,5);
新しいファイル用に Tiff
オブジェクトを作成し、イメージとタグの情報を最初のファイルからコピーします。
tw = Tiff('write_strip.tif','w'); tagstruct.ImageLength = getTag(tr,'ImageLength'); tagstruct.ImageWidth = getTag(tr,'ImageWidth'); tagstruct.SampleFormat = getTag(tr,'SampleFormat'); tagstruct.Photometric = getTag(tr,'Photometric'); tagstruct.RowsPerStrip = getTag(tr,'RowsPerStrip'); tagstruct.BitsPerSample = getTag(tr,'BitsPerSample'); tagstruct.SamplesPerPixel = getTag(tr,'SamplesPerPixel'); tagstruct.YCbCrSubSampling = getTag(tr,'YCbCrSubSampling'); tagstruct.Compression = getTag(tr,'Compression'); tagstruct.PlanarConfiguration = getTag(tr,'PlanarConfiguration'); setTag(tw,tagstruct); write(tw,Yr,Cbr,Crr)
ストリップ番号 5 をストリップ番号 2
の位置に書き込み、ストリップ番号 2 をストリップ番号 5
の位置に書き込みます。
writeEncodedStrip(tw,2,Y5,Cb5,Cr5); writeEncodedStrip(tw,5,Y2,Cb2,Cr2);
新しいイメージの Y 成分を読み取り、元のイメージの隣に表示します。
[Yw,Crw,Cbw] = read(tw); subplot(121); imshow(Yr); title('Original Image (Y)') subplot(122); imshow(Yw); title('Strips Shuffled Image (Y)')
Tiff
オブジェクトを閉じます。
close(tr); close(tw);
入力引数
t
— Tiff オブジェクト
Tiff
オブジェクト
TIFF ファイルを表す Tiff
オブジェクト。このオブジェクトを作成するには、関数 Tiff
を使用します。
stripNumber
— ストリップ番号
正の整数
ストリップ番号。正の整数として指定します。ストリップ番号は、1 ベースの数です。
例: 15
データ型: double
imageData
— イメージ データ
数値配列
イメージ データ。数値配列として指定します。
imageData
のバイト数がストリップのサイズを超える場合、writeEncodedStrip
により警告が発行されてデータが切り捨てられます。imageData
のバイト数がストリップのサイズに満たない場合、writeEncodedStrip
により確認を行うことなくストリップが埋められます。
ストリップのサイズを確認するには、RowsPerStrip
タグの値を表示します。
データ型: double
Y
— 輝度成分
数値配列
イメージ データの輝度成分。2 次元の数値配列として指定します。
データ型: double
Cb
— 青色差彩度成分
数値配列
イメージ データの青色差彩度成分。2 次元の数値配列として指定します。
データ型: double
Cr
— 赤色差彩度成分
数値配列
イメージ データの赤色差彩度成分。2 次元の数値配列として指定します。
データ型: double
アルゴリズム
参照
この関数は、LibTIFF C API の関数 TIFFWriteEncodedStrip
に相当します。この関数を使用するには、TIFF の仕様とテクニカル ノートに精通していなければなりません。このドキュメンテーションは LibTIFF - TIFF Library and Utilities で参照してください。
バージョン履歴
R2009b で導入
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)