【发布时间】:2018-06-01 19:04:02
【问题描述】:
我正在尝试使用magick R 包进行一些图像编辑。但是,我无法读取 GeoTIFF 文件。当我尝试这个时:
magick::image_read(RGBFile)
我收到以下错误消息:
Error in magick_image_readpath(path, density, depth, strip) :
Magick: Unknown field with tag 34737 (0x87b1) encountered.
`TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/912
在做了一些研究之后,我得出的结论是 GeoTIFF 标签是问题所在。
我已写信给软件包维护者,以查看软件包的更新是否允许读取 GeoTIFF,但与此同时,是否有人知道一种删除 GeoTIFF 标签的方法没有 重新复制整个文件? (或任何其他处理大于 1 GB 的大型图像的有效解决方法)
谢谢!
【问题讨论】:
-
在 ImageMagick 命令行中,您可以使用 -quiet 避免看到 TIFF 标签警告。我不知道 Rmagick 工具,所以不能说它为什么会失败。通常在命令行中,它会发出关于它不知道的标签的警告,但仍会处理图像。因此,也许还有其他问题。您还可以在命令行中使用 -strip 剥离所有元数据。
-
libtiff发出警告是很常见的,因为该格式可以有各种第三方/供应商扩展(例如 GeoTIFF)。大多数对图像数据无害,但我想知道为什么 R 包将警告转换为错误。 -
您可以使用 EXIFTOOL 删除所有元数据或仅删除 GeoTiff 标签。
-
是的,这很奇怪,但在 R 中,警告变成了错误。我似乎也不喜欢 EXIFTOOL 会工作。 GeoTIFF 标签可能以某种方式受到保护?
-
EXIFTOOL 会为您的图像列出 geotiff 标签。所以没有理由相信它不能用来删除它们。不过,如果它是一个已修复的错误并且您可以等待或下载它,那么这就是要走的路。
标签: r imagemagick geotiff magick-r-package