[pi-raspberry]4B安装OPENCV4.2.0 实操100%成功

准备:

1.官方32位桌面系统
2.大于16G储存卡

文中所需的工具和资料都在下方链接中

1.调整环境

sudo apt-get update && sudo apt-get upgrade
sudo raspi-config

在这里插入图片描述
在这里插入图片描述
选择第一个回车,会让你重启树莓派,选择立即重启

2.增加交换空间

增加交换空间以避免因内存问题导致的编译挂起

sudo nano /etc/dphys-swapfile

将 CONF_SWAPSIZE 值从默认值更改 100 为 1024
在这里插入图片描述
保存运行以下重启命令以使更改生效

sudo /etc/init.d/dphys-swapfile restart

3、下载opencv-4.2.0和opencv_contrib-4.2.0和需要替换的文件包

文中所需的工具和资料都在下方链接中

在这里插入图片描述

4、安装依赖包

sudo apt-get install build-essential cmake git 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

开始编译

进入目录

cd /home/pi/Downloads

将下载好的文件拷贝到 /home/pi/Downloads目录下进行解压,目录不要错了
在这里插入图片描述

unzip opencv-4.2.0.zip
unzip opencv_contrib-4.2.0.zip

进入opencv-4.2.0,新建release文件夹,进入release文件夹

cd opencv-4.2.0
mkdir release
cd release

设置编译参数

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.2.0/modules \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_CXX_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON ..

编译前处理一些文件

1.下载的opencv源码缺少需要替换的文件,需要下载下列文件

在这里插入图片描述

2.解压后,将解压出来的文件全部拷贝/home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/src/目录下
3.拷贝/home/pi/Downloads/opencv-4.2.0/modules/features2d/test/目录下的这些文件到/home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/里面

test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp

代码如下
cp /home/pi/Downloads/opencv-4.2.0/modules/features2d/test/test_descriptors_invariance.impl.hpp /home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/
cp /home/pi/Downloads/opencv-4.2.0/modules/features2d/test/test_descriptors_regression.impl.hpp /home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/
cp /home/pi/Downloads/opencv-4.2.0/modules/features2d/test/test_detectors_invariance.impl.hpp /home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/
cp /home/pi/Downloads/opencv-4.2.0/modules/features2d/test/test_detectors_regression.impl.hpp /home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/
cp /home/pi/Downloads/opencv-4.2.0/modules/features2d/test/test_invariance_utils.hpp  /home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/
4.修改/home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/test_features2d.cpp文件中这两行去掉 features2d/test/

#include “features2d/test/test_detectors_regression.impl.hpp”`
#include "features2d/test/test_descriptors_regression.impl.hpp

成品如下:

#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"
5.修改/home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp文件中这两行去掉 features2d/test/

#include “features2d/test/test_detectors_invariance.impl.hpp”
#include “features2d/test/test_descriptors_invariance.impl.hpp”

成品如下:

#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hp"
6.开始编译

切换目录

cd /home/pi/Downloads/opencv-4.2.0/release
7.树莓派上运行编译
sudo make -j4 2>&1 | tee make.log

提醒
本次编译采用4线程,编译过程中有可能会卡,这个时候请耐心等待,不要操作其它,如果卡了很久,可以拔掉电源,重新启动系统,cd进入到之前创建的release目录,执行上面编译语句,不要担心,执行编译后会从上次退出编译的位置继续编译,编译过程中不要操作其它,这是重点!!!,以免卡死。采用读取速度98m/s的内存卡,编译时长1个多小时。
在这里插入图片描述

8.安装部署

切回部署目录(如果编译完成没切出去,这步可以省略)

cd /home/pi/Downloads/opencv-4.2.0/release
9.开始安装
sudo make install

安装时可能会到卡死一会,不要着急等会

在这里插入图片描述

10.测试是否成功安装
python3 -c "import cv2; print(cv2.__version__)"

安装成功就可以正常导入模块

11.善后工作

1.删除源文件节省空间
rm -rf ~/opencv_build
2.交换空间更改回原始大小,将 CONF_SWAPSIZE 值改回 100
sudo vim /etc/dphys-swapfile
3.重置配置
sudo /etc/init.d/dphys-swapfile restart

开始使用opencv吧!

点击下载
提取码 qwer

微信扫一扫,免费保护车主号码隐私挪车码即可到手免费使用

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值