当前位置: 首页 > news >正文

树莓派4B--OpenCV安装踩坑

报错: Source directory:
/tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329
Working directory:
/tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329/_skbuild/linux-armv7l-3.7/cmake-build
Please check the install target is valid and see CMake’s output for more information.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for opencv-python
Building wheel for numpy (pyproject.toml) … done
Created wheel for numpy: filename=numpy-1.21.6-cp37-cp37m-linux_armv7l.whl size=12328869 sha256=06306d2e6b05960a90fc2edb7ae20f8ccc5700000888fa38fb2009aab18d2c1a
Stored in directory: /home/pi/.cache/pip/wheels/4e/7e/9e/0fde042ccff2493994076dac9c3fbd78feb444c3bd94eb386a
Successfully built numpy
Failed to build opencv-python
ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects

在树莓派 4 上安装 OpenCV 时经常遇到由于依赖关系不足、编译选项不兼容或者系统资源不足引起的问题。以下是一些可能的解决方法:


方法 1:检查依赖项!!!!!!!!

确保所有必要的依赖项已经安装。运行以下命令安装 OpenCV 的常见依赖项:

sudo apt update && sudo apt upgrade
sudo apt install -y build-essential cmake git pkg-config libjpeg-dev libtiff-dev libpng-dev \libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev \libgtk-3-dev libatlas-base-dev gfortran python3-dev

方法 2:增加交换空间

编译 OpenCV 可能需要较多的内存,而树莓派的 RAM 可能不足。尝试增加交换空间:

  1. 编辑交换空间配置文件:

    sudo nano /etc/dphys-swapfile
    
  2. 将以下行的值增大,例如:

    CONF_SWAPSIZE=2048
    
  3. 保存文件后,重新启动交换服务:

    sudo systemctl restart dphys-swapfile
    

方法 3:使用 pip 安装预编译版本

默认情况下,opencv-python 使用了 pyproject.toml 构建工具,这可能导致不兼容问题。尝试通过 pip 安装特定版本的预编译包:

pip install opencv-python==4.5.3.56 opencv-contrib-python==4.5.3.56

方法 4:从源码编译 OpenCV

如果以上方法无效,可以手动从源码编译 OpenCV,这种方法兼容性最好但耗时较长。

  1. 克隆 OpenCV 仓库:

    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git
    cd opencv
    git checkout 4.x
    cd ../opencv_contrib
    git checkout 4.x
    
  2. 创建构建目录并编译:

    cd ../opencv
    mkdir build && cd build
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \-D ENABLE_NEON=ON -D ENABLE_VFPV3=ON \-D WITH_TBB=ON -D BUILD_TBB=ON -D WITH_GTK=ON \-D BUILD_opencv_python3=ON -D PYTHON3_EXECUTABLE=$(which python3) ..
    make -j$(nproc)
    sudo make install
    

方法 5:检查系统 Python 和 pip 版本

确保使用的 pippython 与树莓派的架构匹配:

python3 --version
pip3 --version

如果 Python 和 pip 版本过旧,尝试更新:

sudo apt install python3-pip
pip3 install --upgrade pip setuptools wheel
http://www.lryc.cn/news/496031.html

相关文章:

  • 电子电气架构 --- 面向服务的汽车诊断架构
  • Pytest --capture 参数详解:如何控制测试执行过程中的输出行为
  • IS-IS的原理
  • C++(4个类型转换)
  • Ubuntu20.04安装NVIDIA显卡驱动
  • 速盾:介绍一下高防cdn的缓存响应事什么功能?
  • Nuclei-快速漏洞扫描器
  • linux网络抓包工具
  • 详解桥接模式
  • 探索AI新世界!热门工具与学习资源免费获取
  • vue3项目搭建-6-axios 基础配置
  • Django 视图层
  • 代理IP与百度在信息时代的交互
  • 1、Three.js开端准备环境
  • 什么是Batch Normalization?
  • 十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize
  • vue2怎么写computed属性
  • 【从零开始的LeetCode-算法】35. 搜索插入位置
  • vscode + conda + qt联合开发
  • 技术总结(四十三)
  • mac终端自定义命令打开vscode
  • 代码设计:设计模式:应对变化
  • Proteus中添加新元件库
  • Hive学习基本概念
  • 运维工程师.云计算工程师面试题.考试题
  • 四、初识C语言(4)
  • 解决爬虫ConnectionResetError出现的问题
  • Qt桌面应用开发 第十天(综合项目二 翻金币)
  • vue跳转以及传参
  • Meta Reality Labs的VR/AR投资战略转向:内部视角与市场影响