【问题标题】:Can't read GeoTIFFs with Magick无法使用 Magick 读取 GeoTIFF
【发布时间】: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


【解决方案1】:

我已经联系了包维护者并且这个错误已经被修复了!截至本文发布时,它还没有进入 CRAN,但同时安装 magickdevtools::install_github("ropensci/magick") 应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2014-09-17
    • 2020-07-08
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    相关资源
    最近更新 更多