2013-12-24 40 views
1

我想改變我的matlab代碼中TIFF對象的標籤值。我不斷收到此錯誤:Matlab tiff setTag number not recognized

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

我覺得你的運氣了這種方法。在從頭構建TIFF時主要使用setTag方法。我的猜測是'StripOffsets'字段不可修改。請記住,這些工具是爲非破損圖像文件的正常情況而設計的,在這種情況下更改此字段可能會破壞文件或在大多數情況下需要重新編碼數據。該函數應該提供更好的反饋(通常TIFF的文檔可能會更好),因此您仍然可以聯繫The MathWorks讓他們知道這一點。

只要找到編輯這些標籤/字段的方法,您可以查找並嘗試一些TIFF標籤查看器/編輯器程序,以查看它們是否可以這樣做。否則,它可能會歸結爲自己解析頭以查找相關字節。