Main Content

readEncodedStrip

从指定条带读取数据

说明

示例

stripData = readEncodedStrip(t,stripNumber) 从由 Tiff 对象 t 表示的 TIFF 文件返回由 stripNumber 指定的条带中的图像数据。

readEncodedStrip 函数剪除条带中超出 ImageLength 边界的区域。因此,来自图像底边缘的条带的图像数据可以具有不同维度。

示例

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

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

示例

全部折叠

从包含条状布局图像的 TIFF 文件中读取图像数据的条带。

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

确定图像中条带的数量和条带的长度。

numberOfStrips(t)
ans = 6
getTag(t,'RowsPerStrip')
ans = 35

读取并显示图像的第三个条带。readEncodedStrip 函数剪除条带中超出 ImageLength 边界的区域。因此,来自图像底边缘的条带的图像数据可以具有不同维度。

strip = readEncodedStrip(t,3);
imshow(strip);
title('3^{rd} Strip Peppers Image');

Figure contains an axes object. The axes object with title 3 toThePowerOf r d baseline blank S t r i p blank P e p p e r s blank I m a g e contains an object of type image.

关闭 Tiff 对象。

close(t);

从包含条状布局图像的 YCbCr TIFF 文件中读取图像数据的条带。

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

确定图像中条带的数量和每个条带的长度。

numberOfStrips(t)
ans = 6
getTag(t,'RowsPerStrip')
ans = 35

读取并显示图像第三个条带的 Y 分量。readEncodedStrip 函数剪除条带中超出 ImageLength 边界的区域。因此,来自图像底边缘的条带的图像数据可以具有不同维度。

[Y,Cb,Cr] = readEncodedStrip(t,3);
imshow(Y);
title('3^{rd} Strip of Peppers Image (YCbCr)')

Figure contains an axes object. The axes object with title 3 toThePowerOf r d baseline blank S t r i p blank o f blank P e p p e r s blank I m a g e blank ( Y C b C r ) contains an object of type image.

关闭 Tiff 对象。

close(t);

输入参数

全部折叠

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

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

示例: 15

数据类型: double

输出参数

全部折叠

条带数据,以数值数组形式返回。

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

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

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

局限性

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

算法

全部折叠

参考

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

版本历史记录

在 R2009b 中推出