【问题标题】:Is there an easy way to install OpenCV on Raspberry pi有没有简单的方法在树莓派上安装 OpenCV
【发布时间】:2020-05-22 13:57:24
【问题描述】:

在树莓派上安装 OpenCV 有很多步骤。是否有机会使用单个命令进行安装。我试过sudo apt-get install python3-opencv 但这不起作用。

【问题讨论】:

    标签: opencv raspberry-pi installation


    【解决方案1】:

    最简单的方法是使用 .whl 文件。当您想使用 pip 安装软件包时,它会搜索与您的系统兼容的该软件包的预编译版本。

    在您的情况下,pip 正在寻找与 armv7l 平台兼容的 OpenCV Python 包,如果找不到要安装的预编译 .whl 文件,它会尝试将源下载为 .tar.gz 并在 Raspberry 上自行编译Pi(这是一个真正的痛苦。)

    armv7l 兼容的 .whl 文件现在可用于 OpenCV Python,您可以使用 pip 通过pip install opencv-python 命令直接安装它,但有时 pip 会尝试安装最新的包,有时它与 armv7l 不兼容。我建议你检查包并将版本规范放在命令中。

    通过安装先决条件和准备安装环境可以更轻松地处理这种情况;您可以使用完整的指南,例如 in this blog post for beginners

    【讨论】:

      【解决方案2】:

      主要的衬线是 pip Python 包安装程序,但要使其正常工作,您还需要一些依赖项,这些依赖项可能已经从其他相关工具安装,也可能尚未安装。

      $ pip3 install opencv-python
      $ sudo apt-get install libatlas-base-dev libjasper-dev libqtgui4 python3-pyqt5 libqt4-test libilmbase-dev libopenexr-dev libgstreamer1.0-dev libavcodec58 libavformat58 libswscale5
      

      除了当前最新版本,您还需要设置一个环境变量来运行它,LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0referenced issue

      $ LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0 python3
      Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
      [GCC 8.2.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import cv2
      >>> 
      

      如果您真的反对,您可以使用没有此问题的先前版本。已经安装的别忘了卸载其他版本pip3 uninstall opencv-python

      $ pip3 install opencv-python==4.1.0.25
      

      在添加 ssh 访问并以这种方式连接后,在新刷新的 2019-09-26-raspbian-buster-lite img 上。

      1. 系统更新和安装 pip3
      $ sudo apt-get update
      $ sudo apt-get upgrade
      $ sudo apt-get install python3-pip
      
      1. 版本检查
      $ python3 --version
      Python 3.7.3
      $ pip3 --version
      pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
      
      1. 安装openCV并检查版本
      $ pip3 install opencv-python
      $ pip3 freeze | grep opencv-python
      opencv-python==4.1.1.26
      
      1. 测试失败,
      $ python3
      Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
      [GCC 8.2.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import cv2
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module>
          from .cv2 import *
      ImportError: libwebp.so.6: cannot open shared object file: No such file or directory
      
      
      1. 安装依赖项
      $ sudo apt-get install libatlas-base-dev libjasper-dev libqtgui4 python3-pyqt5 libqt4-test libilmbase-dev libopenexr-dev libgstreamer1.0-dev libavcodec58 libavformat58 libswscale5
      
      1. 使用环境变量集进行测试
      $ LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0 python3
      Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
      [GCC 8.2.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import cv2
      >>> 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-04
        • 1970-01-01
        • 2019-12-04
        • 2020-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-18
        相关资源
        最近更新 更多