writeEncodedTile
指定されたタイルへのデータの書き込み
説明
writeEncodedTile(
は、t
,tileNumber
,imageData
)Tiff
オブジェクト t
に関連付けられた TIFF ファイルの tileNumber
で指定されたタイルに imageData
のデータを書き込みます。
例
TIFF ファイルへのイメージ タイルの書き込み
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 ファイルへのイメージ タイルの書き込み
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);
入力引数
t
— Tiff オブジェクト
Tiff
オブジェクト
TIFF ファイルを表す Tiff
オブジェクト。このオブジェクトを作成するには、関数 Tiff
を使用します。
tileNumber
— タイル番号
正の整数
タイル番号。正の整数として指定します。タイル番号は 1 ベースの数です。
例: 15
データ型: double
imageData
— イメージ データ
数値配列
イメージ データ。数値配列として指定します。
imageData
のバイト数がタイルのサイズに満たない場合、writeEncodedTile
により確認を行うことなくタイルが埋められます。imageData
のバイト数がタイルのサイズを超える場合、writeEncodedTile
により警告が発行されてデータが切り捨てられます。
イメージ タイルのサイズを確認するには、TileLength
タグと TileWidth
タグの値を取得します。
データ型: double
Y
— 輝度成分
数値配列
イメージ タイルの輝度成分。2 次元の数値配列として指定します。
データ型: double
Cb
— 青色差彩度成分
数値配列
イメージ タイルの青色差彩度成分。2 次元の数値配列として指定します。
データ型: double
Cr
— 赤色差彩度成分
数値配列
イメージ タイルの赤色差彩度成分。2 次元の数値配列として指定します。
データ型: double
アルゴリズム
参照
この関数は、LibTIFF C API の関数 TIFFWriteEncodedTile
に相当します。この関数を使用するには、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)