Main Content

readEncodedTile

从指定图块读取数据

说明

示例

tileData = readEncodedTile(t,tileNumber) 从由 Tiff 对象 t 表示的 TIFF 文件返回由 tileNumber 指定的图块中包含的图像数据。

readEncodedTile 函数剪除图块中超出 ImageLengthImageWidth 边界的区域。因此,来自图像右边缘或底边缘的图块的图像数据可能具有不同维度。

示例

[Y,Cb,Cr] = readEncodedTile(t,tileNumber) 从由 Tiff 对象 t 表示的 TIFF 文件返回由 tileNumber 指定的图块中包含的图像数据的 YCbCr 分量。仅对具有 YCbCr 光度解释的图像使用此语法。

根据 YCbCrSubSampling 标记的值,Cb 分量的大小可能与 Y 分量不同。

示例

全部折叠

从包含分块布局图像的 TIFF 文件中读取图像数据的图块。

t = Tiff('peppers_RGB_tiled.tif','r');

确定图像中的图块数量和图块大小。

nTiles = numberOfTiles(t)
nTiles = 36
tileSize = [getTag(t,'TileLength') getTag(t,'TileWidth')]
tileSize = 1×2

    32    48

读取并显示图像的第 19 个图块。readEncodedTile 函数剪除图块中超出 ImageLengthImageWidth 边界的区域。因此,来自图像右边缘或底边缘的图块的图像数据可能具有不同维度。

tile = readEncodedTile(t,19);
imshow(tile,'InitialMagnification','fit'); % Magnify for display
title('19^{th} Tile of Peppers Image (RGB)');

关闭 Tiff 对象。

close(t); 

从包含分块布局图像的 YCbCr TIFF 文件中读取图像数据的图块。

t = Tiff('peppers_YCbCr_tiled.tif','r');

确定图像中的图块数量和图块大小。

nTiles = numberOfTiles(t)
nTiles = 36
tileSize = [getTag(t,'TileLength') getTag(t,'TileWidth')]
tileSize = 1×2

    32    48

读取并显示图像的第 19 个图块的 Y 分量。readEncodedTile 函数剪除图块中超出 ImageLengthImageWidth 边界的区域。因此,来自图像右边缘或底边缘的图块的图像数据可能具有不同维度。

[Y,Cb,Cr] =  readEncodedTile(t,19);
imshow(Y,'InitialMagnification','fit') % Magnify for display
title('19^{th} Tile of Peppers Image (YCbCr)')

关闭 Tiff 对象。

close(t);

输入参数

全部折叠

代表 TIFF 文件的 Tiff 对象。使用 Tiff 函数创建该对象。

图块编号,指定为正整数。图块编号是从 1 开始的数字。

示例: 15

数据类型: double

输出参量

全部折叠

图块数据,以数值数组形式返回。

图块数据的 Luma 分量,以二维数值数组形式返回。

图块数据的蓝差色度分量,以二维数值数组形式返回。

图块数据的红差色度分量,以二维数值数组形式返回。

局限性

  • readEncodedTile 仅将 SVS 文件中的图像数据作为 RGB 数据返回,对于具有 YCbCr 光度解释的 SVS 文件也是如此。

算法

全部折叠

参考

此函数对应于 LibTIFF C API 中的 TIFFReadEncodedTile 函数。要使用此函数,您必须熟悉 TIFF 规范和技术说明。请访问 LibTIFF - TIFF 库和实用工具查看此文档。

版本历史记录

在 R2009b 中推出