ImageMagick:如何摆脱TIFFWarnings/768关于;“未知字段”;何时处理TIFF?

ImageMagick:如何摆脱TIFFWarnings/768关于;“未知字段”;何时处理TIFF?,imagemagick,tiff,gdal,Imagemagick,Tiff,Gdal,我将ETOPO1.tif加工到修剪区域山体阴影中 我看起来像: 当我通过ImageMagick处理它时,它会成功运行。但我收到以下一组警告信息: convert Yug-shadedrelief.tmp.tif -fuzz 7% -fill "#FFFFFF" -opaque "#DDDDDD" whited.jpg # lighter (0.9M) convert.im6: Unknown field with tag 33550 (0x830e) encountered. `T

我将ETOPO1.tif加工到修剪区域山体阴影中

我看起来像:

当我通过ImageMagick处理它时,它会成功运行。但我收到以下一组警告信息:

convert Yug-shadedrelief.tmp.tif -fuzz 7% -fill "#FFFFFF" -opaque "#DDDDDD"  whited.jpg     # lighter (0.9M)

 convert.im6: Unknown field with tag 33550 (0x830e) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/768.
 convert.im6: Unknown field with tag 33922 (0x8482) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/768.
 convert.im6: Unknown field with tag 34735 (0x87af) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/768.
 convert.im6: Unknown field with tag 34736 (0x87b0) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/768.
 convert.im6: Unknown field with tag 34737 (0x87b1) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/768.
 convert.im6: Unknown field with tag 42113 (0xa481) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/768.

我的.tif是否已损坏?


我能做些什么才能把这些信息去掉?

与您原来的标题(我已更改)不同,这不是一条“错误”信息,而只是一条警告:

TIFFReadDirectory: Warning, Unknown field with tag 33550 (0x830e) encountered. [...]
TIFFReadDirectory: Warning, Unknown field with tag 33922 (0x8482) encountered. [...]
TIFFReadDirectory: Warning, Unknown field with tag 34735 (0x87af) encountered. [...]
[...]
这里列出的标签是GeoTIFF的。请看这里:

要查看其内容(对您来说可能不是很有意义),您可以使用
tiffdump
(或
tiffutil-dump
)实用程序。
exiftool
可能会向您展示这些标记的含义:

 exiftool -a -U -u -g1 Yug-Shadedrelief.tmp.tif
-u
-u
还应提取所有未知(to
exiftool
)标记。如果您的输出中没有“垃圾”,那么,
exiftool
能够从它所看到的内容中得出正面和反面,您也应该如此:-)

也许你可以选择释放或移除这些标签
exiftool
也可以为您这样做

如果您只想让恼人的消息离开您的视线,而不想更改TIFF,那么为您的命令重定向stderr就足够了:

convert                    \
  Yug-shadedrelief.tmp.tif \
 -fuzz 7%                  \
 -fill "#FFFFFF"           \
 -opaque "#DDDDDD"         \
  whited.jpg               \
  2>/dev/null

更新 解释:

  • “…可选用于定义光栅和模型空间之间的精确仿射变换…”
  • “…也称为“地理参考标记”。此标记存储光栅->模型连接点对…”
  • “…也称为‘ProjectionInfoTag’和‘CoordSystemInfoTag’”
  • “…用于存储GeoKeyDirectoryTag引用的所有双值GeoKey…”
  • “…用于存储GeoKeyDirectoryTag引用的所有ASCII值的地理键”
  • “…一个特殊的像素值,用于标记没有可用信息的地理空间区域…”

您可以通过以下方式重新编译libtiff:

  • 在tiff.h中添加此类行

    #定义TIFFTAG_ModelPixelScale 33550

  • 在tif_dirinfo.c中添加TiffieldInfo

    static const TIFFFieldInfo;
    tiffFieldInfo[]={。。。,
    {TIFFTAG_ModelPixelScale,1,1,
    TIFF_LONG,FIELD_SUBFILETYPE,1,0,“ModelPixelScale”},
    ...
    };


我的.tif是否已损坏?

不,这些只是Imagemagick不知道的关于附加元数据()的警告

我该怎么做才能把这些信息带出去?


添加命令行选项
-quiet
以抑制所有警告消息(如Mark Setchell在评论中建议的)。

未损坏-看起来生成图像的任何程序都使用了一些ImageMagick无法识别的自定义TIFF标记。我会用
convert x.tiff。。。2> /dev/null
或者,如果您使用的是Windows
convert-quiet x.tiff…
我使用GIS脚本工具
gdal
生成了这个问题的输入文件。谢谢Kurt。我也用“警告”更新了问题的内容,明天早上我将浏览您的信息。我偶然发现了这个问题,因为我的
libtiff
版本似乎有类似的问题。为了了解发生了什么,我试图找到
exiftool
tiffdump
tiffutil
。不幸的是,我只在SourceForge网站上找到了
exiftool
,但它没有提供我要查找的信息。有谁能告诉我在哪里可以下载
tiffdump
和/或
tiffutil
吗?@Dominique:
tiffdump
是标准
tiff
libtiff
软件包的一部分
tiffutil
是Mac OS X的一部分,其代码基于
tiffcp
tiffinfo
来自
libtiff/tiff
软件包。感谢您提供的信息,Kurt,您知道Windows操作系统是否有相应的工具吗?@Dominique:tiff/libtiff可用于Windows(AFAIR也是SourceForge上gnuwin32/tiff软件包的一部分),并使用它
tiffinfo
tiffdump
 Code |  Code |                     |
(dec) | (hex) | Tag Name            | Short Description
------+-------+---------------------+--------------------------------------------------------
33550 | 830E  | ModelPixelScaleTag  | Used in interchangeable GeoTIFF files
33922 | 8482  | ModelTiepointTag    | Originally part of Intergraph's GeoTIFF, 
34735 | 87af  | GeoKeyDirectoryTag  | Used in interchangeable GeoTIFF files
34736 | 87b0  | GeoDoubleParamsTag  | Used in interchangeable GeoTIFF files
34737 | 87b1  | GeoAsciiParamsTag   | Used in interchangeable GeoTIFF files
42113 | a481  | GDAL_NODATA         | Used by GDAL lib, contains ASCII encoded nodata or ...