树莓派安装最新版本opencv

本文介绍在树莓派3B+上安装OpenCV 4.0.1的详细步骤。包括更新系统、增加缓存、安装依赖包、创建虚拟环境、获取OpenCV、使用cmake生成makefile、编译OpenCV以及测试等环节,编译过程需数小时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚刚看到,opencv4.0.1已经发布,去年安装了opencv3.4,现在想着换一个新版本到opencv来试试。安装新版本的opencv也是需要几乎一天到时间才能成功安装,因为编译opencv需要花掉几个小时到时间。

0. 前提条件

这里我采用了树莓派到3B+和一张32Gb的microSD卡,摄像头采用了罗技到USB摄像头。
同时需要把缓存增加到2GB

1. 更新系统

首先利用命令:
sudo apt-get update
sudo apt-get upgrade
更新一下系统

2. 增加缓存

首先打开文件/etc/dphys-swapfile:
sudo vim /etc/dphys-swapfile
找到参数CONF_SWAPSIZE,把这个参数到数字修改为2048

#set size to absolute value, leaving empty (default) then uses computed value
#you most likely don’t want this, unless you have an special disk situation
#CONF_SWAPSIZE=100
CONF_SWAPSIZE=2048

重启swap服务
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

安装依赖包

我们需要提前安装编译opencv所需要到编译器,包括make、cmake、gfortran等,还有一些图像处理库,视频编解码到库文件,以及python等等到头文件。

sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libcanberra-gtk*
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev```

创建opencv到虚拟环境

cd ~/Documents/
python3 -m venv opencv
cd opencv
source bin/activite
这样我们就进入了opencv到虚拟环境,然后更新pip
pip install upgrade pip
接着我们可以安装numpy
pip install numpy

获取opencv

我们可以直接利用git从下载opencv:

git clone https://github.com/opencv/opencv/
git clone https://github.com/opencv/opencv_contrib/

打开opencv目录
切换到版本4.0.1
git checkout tag 4.0.1 -b build

cmake

现在我们可以利用cmake生成makefile了。
为了方便,我们可以安装cmake到gui界面。
sudo apt-get install cmake-qt-gui
现在我们需要创建安装目录
mkdir build
接着我们进入build目录
cd build
然后我们可以打开cmake-gui,直接在命令提示符哪里输入cmake-gui就可以进入了。
现在我们进入了cmake到图形界面。

在这里插入图片描述

接着我们点击一下configure,我们现在已经设置编译参数
我们需要修改到参数以及数值如下:

CMAKE_BUILD_TYPE=RELEASE
CMAKE_INSTALL_PREFIX=/home/pi/Documents/opencv
OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules
ENABLE_NEON=ON
ENABLE_VFPV3=ON
BUILD_TESTS=OFF
OPENCV_ENABLE_NONFREE=ON
NSTALL_PYTHON_EXAMPLES=OFF
BUILD_EXAMPLES=OFF
BUILD_opencv_python2=OFF
OPENCV_FORCE_PYTHON_LIBS=ON

设置好参数后,我们就再次点击一下configure。
如果没有错误,我们就可以点击generate,生成makefile。
现在我们可以关闭cmak-gui了

编译opencv

现在我们可以直接输入命令make,然后需要等待几个小时进行编译了。
make
编译完成后,我们就可以输入命令
make install
如果没有报错,我们现在就可以利用opencv获取usb摄像头的视频进行播放。

测试opencv

为了测试opencv,我们首先打印cv2到版本。
首先输入命令python,进入python编译环境
python
然后我们就可以输入一下命令

import cv2
print(cv2.__version__)

这个时候我们可以得到输出

4.0.01

### 安装C++版本OpenCV的详细流程 要在树莓派安装并配置C++版本OpenCV,可以按照以下方法操作。以下是基于树莓派4B和Ubuntu 24.04的操作指南。 #### 准备工作 确保树莓派已正确设置操作系统,并更新到最新状态。运行以下命令以完成系统升级: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装依赖项 为了编译OpenCV源代码,需要先安装必要的工具和文件: ```bash sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libdc1394-22-dev -y ``` 上述命令会安装构建所需的各种依赖包[^1]。 #### 下载OpenCV源码 访问OpenCV官方GitHub仓下载指定版本的源代码。例如,要安装OpenCV 4.x版本,执行如下命令: ```bash cd ~ git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.x ``` 如果还需要额外的功能模块(如contrib),也可以克隆`opencv_contrib`仓: ```bash git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.x ``` #### 配置CMake选项 创建一个新的目录用于存储生成的二进制文件,并进入该目录: ```bash mkdir ~/opencv/build cd ~/opencv/build ``` 接着使用CMake进行配置。可以根据需求调整参数,比如启用CUDA支持或其他功能: ```bash 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 WITH_OPENMP=ON \ -D BUILD_EXAMPLES=OFF .. ``` 这里启用了NEON优化和支持多线程处理等功能[^3]。 #### 编译与安装 启动编译过程可能耗时较长,请耐心等待直到完成: ```bash make -j$(nproc) sudo make install sudo ldconfig ``` 完成后即可验证安装情况: ```cpp #include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main() { Mat image = imread("/path/to/image.jpg"); if (image.empty()) { cout << "Could not read the image." << endl; return 1; } namedWindow("Display Image", WINDOW_AUTOSIZE); imshow("Display Image", image); waitKey(0); destroyAllWindows(); return 0; } ``` 保存以上代码至`.cpp`文件并通过G++编译测试其可用性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值