Main Content

setTag

设置标记的值

说明

示例

setTag(t,tagID,tagValue)tagID 指定的 TIFF 标记的值设置为与 tiff 对象 t 相关联的 TIFF 文件中的 tagValue 指定的值。

示例

setTag(t,tagStruct) 设置 tagStruct 中指定的所有标记。tagStruct 结构体可以包含多个标记名称及其对应的值。

示例

全部折叠

您可以通过指定标记名称、标记数值标识符或指定包含多个标记名称和值的结构体来为 TIFF 文件设置标记。

创建一个新 TIFF 文件,写入图像数据,然后以不同方式设置标记值。

将样本数据读入数组 imdata。创建一个与新文件 myfile.tif 相关联的 Tiff 对象,并打开文件用于写入。

imdata = imread('example.tif');
t = Tiff('myfile.tif','w');

通过指定标记名称来设置标记值。

setTag(t,'Photometric',Tiff.Photometric.RGB)
setTag(t,'PlanarConfiguration',Tiff.PlanarConfiguration.Chunky)

通过指定数值标记标识符来设置标记值。使用 Tiff.TagID 结构体的字段来获取标记 ID。例如,Tiff.TagID.ImageLength 包含 ImageLength 标记的数值标识符。

setTag(t,Tiff.TagID.ImageLength,size(imdata,1))
setTag(t,Tiff.TagID.ImageWidth,size(imdata,2))

创建一个包含以 TIFF 标记命名的字段的结构体,并向这些字段分配值。将此结构体传递到 setTag 方法以设置这些标记的值。

tagStruct.BitsPerSample = 8;
tagStruct.SamplesPerPixel = 3;
tagStruct.TileWidth = 128;
tagStruct.TileLength = 128;
tagStruct.Compression = Tiff.Compression.JPEG;
tagStruct.Software = 'MATLAB';
setTag(t,tagStruct)

将图像数据写入 TIFF 文件并关闭 Tiff 对象。

write(t,imdata);
close(t);

输入参数

全部折叠

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

Tiff 对象的标记 ID,指定为字符向量或字符串标量或数值标识符。

例如,您可以将 ImageWidth 标记的 tagId 指定为下列值之一:

  • 包含标记名称 'ImageWidth' 的字符向量或字符串标量

  • TIFF 规范定义的 ImageWidth 标记的数值标识符 256

  • Tiff.TagID 结构体 Tiff.TagID.ImageWidth 的字段。

Tiff.TagID 结构体的字段名称是包含相应标记的数值标识符的有效标记名称。例如,字段 Tiff.TagID.ImageWidth 包含值 256。要查看所有标记及其数值标识符的列表,请在命令行窗口中键入 Tiff.TagID

示例: 'ImageWidth'

示例: 256

示例: Tiff.TagID.ImageWidth

数据类型: double | char | string

标记值,指定为有效的数值标识符。

例如,您可以通过以下方式之一为 PlanarConfiguration 标记指定 tagValue

  • 数值标识符 2,用于设置 PlanarConfiguration 标记的值,指示单独的配置

  • Tiff.PlanarConfiguration 结构体 Tiff.PlanarConfiguration.Separate 的字段

Tiff.PlanarConfiguration 结构体包含 PlanarConfiguration 标记的所有有效值的数值标识符。要查看任一给定标记的所有有效标记值,请在命令行窗口中键入 Tiff.TagName。例如,要查看 Photometric 标记的所有有效值,请在命令行窗口中键入 Tiff.Photometric

数据类型: double

多个标记,指定为包含标记名称及其对应值的结构体。tagstruct 中的字段的名称必须是支持的 TIFF 标记的名称,其对应的值必须是有效的 TIFF 标记值。

数据类型: struct

提示

  • 如果您要修改标记而不是创建标记,则必须在使用 setTag 方法后使用 rewriteDirectory 方法。

算法

全部折叠

参考

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

版本历史记录

在 R2009b 中推出