【问题标题】:Python module for OpenCV requires a library that's unavailable to Ubuntu 14.04OpenCV 的 Python 模块需要 Ubuntu 14.04 不可用的库
【发布时间】:2014-11-16 21:00:24
【问题描述】:

我正在尝试在使用 Ubuntu 14.04 的系统上从 Python 中使用 OpenCV。当我尝试导入 cv2 时,出现以下错误:

 me@Bedrock1:~$ python
 Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
 [GCC 4.8.2] on linux2
 Type "help", "copyright", "credits" or "license" for more information.

 >>> import cv2
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 ImportError: libavcodec.so.53: cannot open shared object file: No such file or directory

搜索 libavcodec.so.53 显示我的系统只有 libavcodec.so.54。

互联网搜索显示 libavcodec.so.53 已从 14.04 存储库 (http://www.ubuntuupdates.org/package/core/trusty/universe/base/libavcodec53) 中删除。这可能解释了我无法 apt-get 安装这个库:

 me@Bedrock1:~$ sudo apt-get install libavcodec53 libavcodec-extra-53
 ...
 E: Package 'libavcodec53' has no installation candidate
 E: Package 'libavcodec-extra-53' has no installation candidate

不幸的是,现在我真的被困住了。

有没有办法让 cv2 模块使用 libavcodec.so.54,或者找到并安装 libavcodec.so.53 的方法?

注意:我刚刚尝试按照https://help.ubuntu.com/community/OpenCV 的说明重新安装

但我仍然收到相同的 libavcodec.so.53 错误....

【问题讨论】:

    标签: python opencv ubuntu ubuntu-14.04


    【解决方案1】:

    试试这个脚本。 Ubuntu 手册页有这个脚本的旧版本。这应该可以。

    https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_9.sh

    【讨论】:

    • 这与最终为我工作的相似。我进入 Synaptic 并卸载了与 OpenCV 明确关联的 所有内容,然后重新安装了 OpenCV。我预计我遇到了某种版本冲突。
    【解决方案2】:

    检查重新安装opencv是否解决问题

    sudo apt-get install --reinstall python-opencv
    

    顺便说一句,你之前是怎么安装的?

    【讨论】:

    • 我通过 Synaptic 安装(并重新安装)python-opencv
    【解决方案3】:

    我在 Ubuntu 14.04 64bit 上遇到了同样的问题,如下所述: https://bugs.launchpad.net/ubuntu/+source/opencv/+bug/1161485/comments/2 我尝试下载源包并重新编译,以获取正确的库链接,但没有运气。

    最后,我按照以下说明从源代码重新编译: http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html

    一切都很好,除了 python 模块编译,它在配置时被禁用(在 Opencv 模块中列出:不可用:部分)。

    我使用 cmake-gui 来配置构建并生成 makefile。配置步骤正确设置了 PYTHON2_INCLUDE_DIR、PYTHON2_INCLUDE_DIR2 和 PYTHON2_LIBRARY,但没有设置 PYTHON_INCLUDE_DIR、PYTHON_INCLUDE_DIR2 和 PYTHON_LIBRARY。

    为了实际构建 python 模块,您应该将这些 PYTHON_ 变量设置为等于它们对应的 PYTHON2_ 变量。然后,make 步骤也将构建 cv2.so。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-04
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      相关资源
      最近更新 更多