【问题标题】:JPEG compression in gdal_translate: wrong JPEG library versiongdal_translate 中的 JPEG 压缩:错误的 JPEG 库版本
【发布时间】:2018-01-29 18:18:48
【问题描述】:

我试图通过操纵 gdal_translate 命令的压缩开关来减小简单山体阴影 geotiff 的大小,灵感来自 this 很棒的博客条目。但是,使用-co COMPRESS=JPEG 运行命令会导致以下众所周知的错误:

ERROR 1: JPEGLib:Wrong JPEG library version: library is 62, caller expects 80

我确保我删除了每个基于 6 实例的 libjpeg 库并安装了所有可能的基于 8 的 libjpeg 库,但问题仍然存在。我有 GDAL 2.0.0 版。在 Ubuntu 16.04.1 Xenial 上运行。

有人遇到过同样的问题吗?

是输入(geotiff)还是依赖相关的问题?

【问题讨论】:

    标签: ubuntu compression gdal


    【解决方案1】:

    不幸的是,我还没有找到原始问题的解决方案,但我确实找到了一个很好的解决方法,将 JPEG 压缩应用于 TIF 光栅,这无论如何都是我的原始问题。

    出于某种原因,从 Python 的 GDAL API 中调用 gdal_translate 对 "COMPRESS=JPEG" 选项没有问题。所以,这对我有用:

    from osgeo import gdal
    ds = gdal.Open("Raster.tif")
    ds = gdal.Translate("Raster_compressed.tif", ds, creationOptions=['COMPRESS=JPEG'])
    

    【讨论】:

      【解决方案2】:

      检查 gdal_translate 引用了哪些库:

      ldd /bin/gdal_translate
      ldd /bin/gdal_translate | grep jpeg
      

      检查您的库符号链接指向的位置,如here 所述:

      列出您的库文件夹中的所有文件并 grep 查找您要查找的库:

      cd /usr/lib64/
      ls -la | grep jpeg
      
      cd /usr/local/lib
      ls -la | grep jpeg
      
      cd /usr/lib
      ls -la | grep jpeg
      

      确保所有符号链接都指向正确的版本:

      lrwxrwxrwx  1 root root       17 Mar  8 09:54 libjpeg.so -> libjpeg.so.62.0.0*
      

      应该是

      lrwxrwxrwx  1 root root       17 Mar  8 09:54 libjpeg.so -> libjpeg.so.8.3.0*
      

      安装提供正确版本的库或手动创建符号链接。

      【讨论】:

      • 尝试了这个解决方案,但无法继续,因为我(几乎)有空的 /etc/ld.so.conf... 我已经删除了计算机上 libjpeg6* 的每一个外观(通过定位, dpkg --list, ldconfig -p), 重新安装了 libjpegs 和 gdal,... 没有想法了...
      • @MarjanModerc 你能把上面命令的结果贴出来吗?
      猜你喜欢
      • 2011-04-16
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 2011-03-29
      • 2023-03-17
      相关资源
      最近更新 更多