树莓派安装opencv

为了方便查看,以及日后的学习,所以把opencv的安装方法整理了一下。安装过程踩了不少的坑。希望对大家有所帮助。
本文参考:https://blog.csdn.net/ninwji/article/details/100798014
本文涉及到资源下载:https://download.csdn.net/download/weixin_41873310/12234825

1、安装numpy

打开命令行界面,输入以下命令,安装Python科学计算库numpy

sudo pip3 install numpy

2、在树莓派设置中把根目录扩大到整个SD卡

命令行界面输入命令,进入树莓派配置界面。用上下键和左右键切换光标位置。

sudo raspi-config

在这里插入图片描述在这里插入图片描述

3、安装OpenCV所需的库

挨个运行下面命令。共需要七分钟(注意倒数第三条命令中要安装四个-dev软件包)。

sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y

4、下载OpenCV

在命令行输入以下三条命令,下载两个压缩包到树莓派的/home/pi/Downloads目录下。第一个压缩包86.8MB,第二个压缩包54.5MB:
用git 下载非常慢,这里我把安装需要的文件统一整理了出来,下载地址
https://download.csdn.net/download/weixin_41873310/12234825
下载完成后可以直接把opencv.zip和opencv_contrib.zip复制到树莓派的home/pi/Downloads文件目录下,进行后续的操作

进入Downloads文件夹
cd /home/pi/Downloads
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git

5、解压

进入Downloads文件夹,解压
一句一句执行这三句语句

cd /home/pi/Downloads
unzip opencv.zip
unzip opencv_contrib.zip

解压完之后把解压出来的opencv和opencv_contrib文件夹移动到/home/pi目录下,不移动的话到后面的Cmake配置的时候就要把对应的文件目录修改一下,不然会报错哦

6、Cmake 配置,可输出适配于树莓派平台的Makefile

Cmake 经过配置,可输出适配于树莓派平台的Makefile
根据刚才下载的文件路径进行切换,并在目录下新建一个build文件夹
cd /home/pi/opencv
创建build文件夹

mkdir build

进入build文件夹

cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..

/**************************************************************************************/

注意,以上需要根据具体的环境进行修改,否则会报错。 其中: CMAKE_BUILD_TYPE=RELEASE \ 代表编译类型为发行版本
CMAKE_INSTALL_PREFIX=/usr/local \ 安装路径 INSTALL_C_EXAMPLES=ON \ C demo
INSTALL_PYTHON_EXAMPLES=ON \ Python demo
OPENCV_EXTRA_MODULES_PATH=/home/pi/…/opencv/opencv_contrib/modules
你的OpenCV_Contrib 路径 BUILD_EXAMPLES=ON \ 编译demo WITH_LIBV4L=ON
\ 开启Video for Linux PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3.7
树莓派python 路径 PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3.7
include 文件夹
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so
Python3.7 库
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include
\ Python3 Numpy安装路径 …
在这里插入图片描述在这里插入图片描述

7、编译:

这里使用make 、不知道为什么用make -j4老出错,所以用make
在这里插入图片描述
出现报错
把下载文件里面的opencv-补充文件.zip解压,全选这些文件,利用WInSCP复制到树莓派的/home/pi/…/opencv_contrib/modules/xfeatures2d/src目录下
在这里插入图片描述
然后继续make编译

又接着会报错:
在这里插入图片描述
复制/home/pi/opencv/modules/features2d/test路径下的这两个文件
在这里插入图片描述
到/home/pi/opencv_contrib/modules/xfeatures2d/test目录下
然后修改test_features2d.cpp文件里面的内容如下图:
在这里插入图片描述
继续编译
又会报错
在这里插入图片描述
这回看报错的路径和缺少的文件到/home/pi/opencv/modules/features2d/test路径下找到相应的文件,复制到
/home/pi/opencv_contrib/modules/xfeatures2d/test里面去,看这个文件是哪里出的错,比如
在这里插入图片描述
就是这个路径下的这个文件调用的时候报错了,去这个路径下找到test_rotation_and_scale_invariance.cpp然后修改#include 的路径如:
在这里插入图片描述继续make,如果发生错误,继续利用上述方法解决

8、编译完成后安装

sudo make install
在这里插入图片描述
输入python3后import一下这样就行了

9、测试代码:

# -*- coding:utf-8 -*-
import cv2
import numpy as np
cv2.namedWindow("gray")
img = np.zeros((512,512),np.uint8)#生成一张空的灰度图像
cv2.line(img,(0,0),(511,511),255,5)#绘制一条白色直线
cv2.imshow("gray",img)#显示图像
#循环等待,按q键退出
while True:
    key=cv2.waitKey(1)
    if key==ord("q"):
        break
cv2.destoryWindow("gray")

在这里插入图片描述
这样就是成功了,哈哈哈

<think>嗯,用户想在树莓派安装OpenCV,但不知道具体步骤。首先,我需要根据提供的引用资料来整理出正确的安装方法。引用[3]提到了两种安装方式:快速安装和源码编译。用户可能需要知道这两种方法的区别和步骤。 用户使用的是树莓派4B和树莓派OS,所以需要确保步骤适用于这个型号和系统。引用[1]提到使用系统镜像,但用户可能更倾向于自己安装而不是下载镜像。引用[3]的步骤详细,应该作为主要参考。 首先,扩展文件系统和安装依赖项是关键步骤。用户可能需要先执行sudo raspi-config来扩展文件系统,如引用[4]中提到的raspi-config的使用。然后安装依赖项,比如CMake、Python开发库等,这部分在引用[3]的步骤2里有说明。 接下来是Python虚拟环境,这样可以隔离项目依赖。用户可能对虚拟环境不熟悉,需要简单说明。然后安装NumPy,这是OpenCV的依赖项。 然后分两种安装方式:快速安装用pip,而源码编译更耗时但可能更稳定。快速安装适合需要快速上手的用户,而源码编译适合需要定制功能的用户。引用[3]中的步骤4a和4b需要详细说明,包括具体的命令。 测试安装部分,需要确保OpenCV正确导入,引用[3]提到用Python脚本测试,所以应该给出测试代码。 另外,引用[5]提到摄像机堆栈的问题,如果用户需要使用摄像头,可能需要额外配置,但问题里没提到,可能暂时不需要涉及。但可以作为一个相关问题提出,供用户参考。 需要注意用户可能遇到的常见问题,比如编译时的内存不足,可能需要增加交换空间,或者使用-j4选项来加速编译。此外,确保所有依赖项正确安装,避免编译失败。 最后,生成相关问题,帮助用户进一步了解优化方法或应用场景,比如性能优化或摄像头集成。</think>### 树莓派4B安装OpenCV指南 #### 一、准备工作 1. **扩展文件系统** 首次启动后执行: ```bash sudo raspi-config ``` 选择 `Advanced Options` → `Expand Filesystem` 完成存储空间扩展[^3][^4]。 2. **安装依赖项** 更新系统并安装编译工具: ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y cmake build-essential python3-dev python3-numpy libatlas-base-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev ``` #### 二、Python虚拟环境配置 1. **创建虚拟环境** ```bash python3 -m venv opencv_env source opencv_env/bin/activate pip install numpy # OpenCV依赖的数值计算库 ``` #### 三、安装OpenCV的两种方式 **方式1:快速安装(1分钟)** 适用于基础功能需求: ```bash pip install opencv-python-headless==4.5.5.64 # 无GUI支持的轻量版本 ``` **方式2:源码编译安装(2小时)** 支持完整功能及硬件加速: ```bash git clone https://github.com/opencv/opencv.git 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 .. make -j4 # 利用四核加速编译 sudo make install # 安装到系统目录[^1] ``` #### 四、验证安装 创建测试脚本 `test_opencv.py`: ```python import cv2 print("OpenCV版本:", cv2.__version__) ``` 执行结果应显示版本号如 `4.5.5`。 #### 五、摄像头支持(可选) 若需使用CSI/USB摄像头: 1. 在 `/boot/firmware/config.txt` 添加 `start_x=1` 和 `gpu_mem=128` 2. 通过 `sudo raspi-config` 启用摄像头模块[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值