Main Content

writeEncodedStrip

指定されたストリップへのデータの書き込み

説明

writeEncodedStrip(t,stripNumber,imageData) は、Tiff オブジェクト t に関連付けられた TIFF ファイルの stripNumber で指定されたストリップに imageData を書き込みます。

writeEncodedStrip(t,stripNumber,Y,Cb,Cr) は、Tiff オブジェクト t に関連付けられた TIFF ファイルの stripNumber で指定されたストリップに YCbCr の成分データを書き込みます。この構文を使用するには、YCbCrSubSampling タグの値を設定しなければなりません。

すべて折りたたむ

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')

Figure contains 2 axes objects. Axes object 1 with title Original Image contains an object of type image. Axes object 2 with title Strips Shuffled Image contains an object of type image.

Tiff オブジェクトを閉じます。

close(tr);
close(tw);

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);

入力引数

すべて折りたたむ

TIFF ファイルを表す Tiff オブジェクト。このオブジェクトを作成するには、関数 Tiff を使用します。

ストリップ番号。正の整数として指定します。ストリップ番号は、1 ベースの数です。

例: 15

データ型: double

イメージ データ。数値配列として指定します。

  • imageData のバイト数がストリップのサイズを超える場合、writeEncodedStrip により警告が発行されてデータが切り捨てられます。

  • imageData のバイト数がストリップのサイズに満たない場合、writeEncodedStrip により確認を行うことなくストリップが埋められます。

ストリップのサイズを確認するには、RowsPerStrip タグの値を表示します。

データ型: double

イメージ データの輝度成分。2 次元の数値配列として指定します。

データ型: double

イメージ データの青色差彩度成分。2 次元の数値配列として指定します。

データ型: double

イメージ データの赤色差彩度成分。2 次元の数値配列として指定します。

データ型: double

アルゴリズム

すべて折りたたむ

参照

この関数は、LibTIFF C API の関数 TIFFWriteEncodedStrip に相当します。この関数を使用するには、TIFF の仕様とテクニカル ノートに精通していなければなりません。このドキュメンテーションは LibTIFF - TIFF Library and Utilities で参照してください。

バージョン履歴

R2009b で導入