【问题标题】:libpng error: IDAT: invalid distance too far back in MAC OSX 10.9libpng 错误:IDAT:MAC OSX 10.9 中的无效距离太远
【发布时间】:2014-10-22 00:40:51
【问题描述】:

我已经在 MAC OSX 10.9 中安装了带有 libstdc++brew install opencv 的 opencv2.4.9。

我尝试imread INRIA 行人数据库中的图像。问题是我用opencv读取PNG格式图片时,总是报这个错误:
libpng error: IDAT: invalid distance too far back

libpng的版本是1.6.13,也是brew install命令安装的。

谁能帮我解决这个问题?非常感谢。

【问题讨论】:

    标签: opencv libpng


    【解决方案1】:

    我刚刚解决了这个问题。首先,brew uninstall libpngbrew uninstall opencv。然后,brew install libpng12brew install --build-from-source --fresh -vd opencv。在这个过程中,libpng 也会被安装。即使libpnglibpng12 都安装了,opencv 也只会使用libpng12

    我猜来自 INRIA 数据库的图像可能对libpng-1.6.13 库有点旧。因此,我们必须使用较旧的 libpng 版本 libpng12 来阅读它。

    更新:2014.10.29

    我找到了解决这个问题的另一种方法。这种方式比较好。 首先,brew edit opencv 并转到包含depends_on :libpng 的行。 然后,按“i”并切换到编辑模式。将depends_on :libpng 更改为depends_on "libpng12"。按:wq 保存。 最后,brew install opencv

    通过这样做,opencv 将使用libpng12 而不是libpng16 进行编译。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      相关资源
      最近更新 更多