项目所需设备
硬件:
树莓派3
无驱摄像头模块
语言和库:
OpenCV
Python 3
第一步:安装OpenCV 3包
可以按照 Adrian Rosebrock 写的教程来进行(我试了但是编译失败,所以我试了第二个教程里的,我写在下方):《Raspbian Stretch: Install OpenCV 3 + Python on your Raspberry Pi》。
但是我安装的时候遇到了一些错误。
mkvirtualenv cv -p python3
报错
换一下命令顺序就好了virtualenv -p python3 cv
要开始使用虚拟环境,其需要被激活:
使用前需要激活虚拟环境source cv/bin/activate
停止虚拟环境deactivate
删除虚拟环境(删除当前虚拟环境要先退出)rmvirtualenv 虚拟环境名称
虚拟环境中,在用pip安装numpy时一直安装失败。
直接下载其whl文件,用pip install *.whl
的命令进行安装
这里要我们编译,但是有一个错误就是-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
前面没有要我们解压,所以这个路径不存在
完成了(舒服)
编译开始
报错:
文件其实在/root/opencv_contrib-3.3.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp
将这个文件复制到报错显示的位置就好了。
用某up猪的方法,安装了opencv3.4apt-get install build-essential cmake git pkg-config
安装4个图像工具包apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
安装视频I/O包apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
安装gtk2.0apt-get install libgtk2.0-devy
安装优化函数包apt-get install libatlas-base-dev gfortran
下载源码
https://github.com/Itseez/opencv/archive/3.4.3.zip
https://github.com/Itseez/opencv_contrib/archive/3.4.3.zip
创建目录opencv-3.4.3/release在里面编译
make(不要用make -j4会报错,我开始不信,结果从头编译了 )
遇到错误,缺少缺少boostdesc_bgm.i文件,按照大佬的方法
编译结束(这下才舒服了)make install
这样就安装好了opencv3.4
实现py程序前安装pip3 install pillow
第二步:人脸检测
人脸识别的最基础任务是「人脸检测」。你必须首先「捕捉」人脸(第 1 阶段)才能在未来与捕捉到的新人脸对比时(第 3 阶段)识别它。
识别ubuntu创始人Mark Shuttleworth
第三步:收集数据并训练识别
这是该项目的最后阶段。这里,我们将通过摄像头捕捉一个新人脸,如果这个人的面孔之前被捕捉和训练过,我们的识别器将会返回其预测的 id 和索引,并展示识别器对于该判断有多大的信心。
参考链接
https://www.cnblogs.com/freely/p/8022923.html
https://shumeipai.nxez.com/2018/03/09/real-time-face-recognition-an-end-to-end-project-with-raspberry-pi.html
https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/
https://github.com/abhiTronix/OpenCV_Raspberry_pi_TBB
https://www.bilibili.com/video/av54307099/?spm_id_from=trigger_reload
https://blog.csdn.net/AlexWang30/article/details/99612188
https://github.com/Mjrovai/OpenCV-Face-Recognition
https://www.hackster.io/mjrobot/real-time-face-recognition-an-end-to-end-project-a10826
https://www.instructables.com/id/Real-time-Face-Recognition-an-End-to-end-Project/