目录
文章目录
前言
有需要用到树莓派实现一个人脸识别的程序,所以又回到了交叉编译opencv上。虽然工作的时候用到过opencv,交叉编译一次次失败的恐惧感还在眼前。而这次编译也花了三天的时间,我太难了[哭出声]!网上很多的opencv编译教程,但是写的挺乱的,我尽量把自己遇到的问题表达清楚吧!
树莓派交叉编译opencv3.4.1
交叉编译opencv3.4.1的教程参考Install OpenCV Python on Raspberry Pi 3,原文是英文写的,比较简单,大家可以看原文,也可以看我的翻译。
安装环境
博主使用的是最新版的Raspbian Buster系统,大家可以去官网自行下载安装,安装完成后可以使用单独的显示器操作;也可以使用ssh+vncserver的方式,将树莓派的桌面通过网线投影到电脑上来显示,这里不做描述,大家可以到树莓派实验室上去找教程。
使用的opencv版本是opencv3.4.1,在博主这版的树莓派上,如果使用如下命令直接安装opencv。
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
但是注意apt-get安装的方式,opencv是在python2.7的环境下存在的,python3下使用import cv2
的方式导入opencv会发现找不到cv2模块。由于python2.7即将停止维护,所以以后的程序都会是python3的程序,因此最好在python3的环境下使用opencv编写人脸识别的代码。故有了交叉编译opencv3的需要。
开始交叉编译
- 第一步:更新Pi
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
- 第二步:安装依赖
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-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 libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
- 第三步:安装python3开发工具
sudo apt-get install python3 python3-setuptools python3-dev
- 第四步:设置pip工具
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
# 注意:如果wget速度太慢的话,可以直接访问https://bootstrap.pypa.io网页,
# 然后在windows下下载get-pip.py文件,然后使用xftp传到pi上
第五步:抓取OpenCV3.4.1和OpenCV-contrib包