在树莓派上安装opencv

1.更换更新源和下载源

使用命令lsb_release -a查看当前树莓派系统版本,此版本的代号为 “buster

pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

更换镜像源

sudo nano /etc/apt/sources.list

在第一行开头加一个#,把下面的内容拷贝到最后一行之后,如图中的效果:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

查看了一下使用镜像源的地址,使用的版本代号为 “stretch

那么把对应的 “stretch” 改为“buster”就行了

先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面

再输入以下命令更新到清华大学镜像源最新的软件列表

sudo apt-get update

然后重启树莓派

sudo reboot

2.安装numpy

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

sudo pip3 install numpy

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

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

sudo raspi-config

选择Advanced Options

选择Expand Filesystem,将根目录扩展到这个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。退出设置界面,重启树莓派

sudo reboot

4.安装OpenCV所需的库

运行下面八条命令

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

5、下载OpenCV

在命令行输入以下三条命令,下载两个压缩包到树莓派的/home/pi/Downloads目录下。第一个压缩包86.8MB,第二个压缩包54.5MB:

cd /home/pi/Downloads
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip

解压这两个压缩包

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

6、设置编译参数

设置编译参数

cd /home/pi/Downloads/opencv-3.4.0
mkdir build
cd build

设置CMAKE参数

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/Downloads/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..

根据下图判断你是否配置成功了CMAKE。如果失败,可能是因为两个压缩包的路径没有严格按照上文的要求。如果成功,就可以开始最重要的编译了

配置CMAKE失败

配置CMAKE成功 

7.编译OpenCV3

进入build文件夹进行编译,防止ssh断开导致编译失败。树莓派要保证供电充足,且最好不要进行其他操作

cd /home/pi/Downloads/opencv-3.4.0/build
 sudo make -j4 2>&1 | tee make.log

编译18%左右可能会报错fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录

这是由于我们之前安装了python2环境下的opencv导致的,复制两个文件即可解决:将/home/pi/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2目录下的xfeatures2d文件夹和xfeatures2d.hpp文件复制粘贴到/home/pi/Downloads/opencv-3.4.3/modules/stitching/include/opencv2目录下即可

在编译到81%左右的时候,可能会报错Built target opencv_tracking [Makefile:163 : all] 错误
这主要是因为下载的包不完整导致的,把缺少的文件拷贝到:home/pi/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/src/下即可

缺失文件下载链接:https://share.weiyun.com/6gaKPUXf 密码:c6myk6

在编译到99%左右的时候,可能会报错make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:21149: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make: *** [Makefile:138: all] Error 2

在home/pi/Downloads/opencv-3.4.0/modules/python/scr2路径下找到cv2.cpp这个文件

texteditor打开,翻到885行

前面要加上个(char *)

然后再编译,在这个地方停很长时间就可以通过了

8.安装OpenCV3

编译完成后即可进行最后一步——安装

sudo make install

9、在Python3上测试OpenCV

安装好之后,在命令行中输入python3,回车

import cv2

回车

cv2.__version__

如果出现下图的结果,说明Python3环境下的OpenCV安装成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值