Matlab tiff setTag数字无法识别

时间:2013-12-24 00:14:10

标签: matlab tags tiff

我正在尝试在matlab代码中更改TIFF对象中标记的值。我一直收到这个错误:

Error using tifflib
Tag number (273) is unrecognized by the TIFF library.

Error in Tiff/setTag (line 1146)
                    tifflib('setField',obj.FileID, ...

我正在使用的代码包含在下面:

fname='C:\FileLocation\pcd144_012.tif';
t=Tiff(fname,'r+');
t.getTag('StripOffsets')
t.setTag('StripOffsets',[8, 16392])

为什么我可以获取标签并查看它,但无法将标签设置为其他值?

以下是我正在使用的tiff的链接:

Tiff Data

1 个答案:

答案 0 :(得分:1)

我认为你对这种做法不太满意。从头开始构建TIFF时,主要使用setTag方法。我的猜测是'StripOffsets'字段不可修改。请记住,这些工具是针对非破坏图像文件的正常情况而设计的,在这种情况下更改此字段会破坏文件或在大多数情况下需要重新编码数据。该函数应该提供更好的反馈(一般来说TIFF的文档可能会更好),所以您仍然可以联系The MathWorks让他们知道这一点。

就找到编辑这些标记/字段的方法而言,您可能会查找并尝试一些TIFF标记查看器/编辑器程序,以查看它们是否可以执行此操作。否则,可能会自行解析标题以找到相关的字节。