Main Content

writeEncodedTile

指定されたタイルへのデータの書き込み

説明

writeEncodedTile(t,tileNumber,imageData) は、Tiff オブジェクト t に関連付けられた TIFF ファイルの tileNumber で指定されたタイルに imageData のデータを書き込みます。

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

すべて折りたたむ

TIFF ファイルから 2 つのタイルを読み取り、新しい TIFF ファイルの別の位置に書き込みます。

イメージ データがタイル レイアウトで格納された TIFF ファイルを開き、イメージ データとイメージ内のタイルの数を取得します。

tr = Tiff('peppers_RGB_tiled.tif','r');
imageR = read(tr);
nTiles = numberOfTiles(tr)
nTiles = 36

イメージの 8 番目と 29 番目のタイルを読み取ります。

tile8 = readEncodedTile(tr,8);
tile29 = readEncodedTile(tr,29);

新しいファイル用に Tiff オブジェクトを作成し、イメージとタグの情報を最初のファイルからコピーします。

tw = Tiff('write_tile.tif','w');
tagstruct.ImageLength = getTag(tr,'ImageLength');
tagstruct.ImageWidth =  getTag(tr,'ImageWidth');
tagstruct.Photometric = getTag(tr,'Photometric');
tagstruct.TileLength = getTag(tr,'TileLength');
tagstruct.TileWidth = getTag(tr,'TileWidth');
tagstruct.BitsPerSample = getTag(tr,'BitsPerSample');
tagstruct.SamplesPerPixel = getTag(tr,'SamplesPerPixel');
tagstruct.PlanarConfiguration = getTag(tr,'PlanarConfiguration');  
setTag(tw,tagstruct); 
write(tw,imageR)

tile29 をタイル番号 8 の位置に書き込み、tile8 をタイル番号 29 の位置に書き込みます。

writeEncodedTile(tw,8,tile29);
writeEncodedTile(tw,29,tile8);

新しいイメージを読み取り、元のイメージの隣に表示します。

imageW = read(tw);
subplot(121);
imshow(imageR); 
title('Original Image')
subplot(122);
imshow(imageW); 
title('Tiles Shuffled Image')

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

close(tr);
close(tw);

YCbCr TIFF ファイルから 2 つのタイルを読み取り、新しい TIFF ファイルの別の位置に書き込みます。

イメージ データがタイル レイアウトで格納された TIFF ファイルを開き、イメージ データとイメージ内のタイルの数を取得します。

tr = Tiff('peppers_YCbCr_tiled.tif','r');
[Yr,Cbr,Crr] = read(tr);
nTiles = numberOfTiles(tr)
nTiles = 36

イメージの 8 番目と 29 番目のタイルを読み取ります。

[Y8,Cb8,Cr8] = readEncodedTile(tr,8);
[Y29,Cb29,Cr29] = readEncodedTile(tr,29);

新しいファイル用に Tiff オブジェクトを作成し、イメージとタグの情報を最初のファイルからコピーします。

tw = Tiff('write_tile.tif','w');
tagstruct.ImageLength = getTag(tr,'ImageLength');
tagstruct.ImageWidth =  getTag(tr,'ImageWidth');
tagstruct.SampleFormat = getTag(tr,'SampleFormat');
tagstruct.Photometric = getTag(tr,'Photometric');
tagstruct.TileLength = getTag(tr,'TileLength');
tagstruct.TileWidth = getTag(tr,'TileWidth');
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)

タイル番号 29 をタイル番号 8 の位置に書き込み、タイル番号 8 をタイル番号 29 の位置に書き込みます。

writeEncodedTile(tw,8,Y29,Cb29,Cr29);
writeEncodedTile(tw,29,Y8,Cb8,Cr8);

新しいイメージの Y 成分を読み取り、元のイメージの隣に表示します。

[Yw,Crw,Cbw] = read(tw);
subplot(121);
imshow(Yr); 
title('Original Image (Y)')
subplot(122);
imshow(Yw); 
title('Tiles Shuffled Image (Y)')

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

close(tr);
close(tw);

入力引数

すべて折りたたむ

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

タイル番号。正の整数として指定します。タイル番号は 1 ベースの数です。

例: 15

データ型: double

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

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

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

イメージ タイルのサイズを確認するには、TileLength タグと TileWidth タグの値を取得します。

データ型: double

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

データ型: double

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

データ型: double

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

データ型: double

アルゴリズム

すべて折りたたむ

参照

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

バージョン履歴

R2009b で導入