2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 为树莓派安装opencv并进行人脸识别

为树莓派安装opencv并进行人脸识别

时间:2019-07-28 04:53:23

相关推荐

为树莓派安装opencv并进行人脸识别

为树莓派安装opencv并进行人脸识别

1.更改modules文件2.确认树莓派摄像头安装成功3.在树莓派上安装运行在Python2上的OpenCV4.下载人脸识别代码和xml文件并运行参考:如何从github上下载xml文件人脸识别教程相关链接附:两个错误的解决办法

本文前半部分(安装)原创作者:同济大学开源软件协会 子豪兄

转载或复制请以 原文超链接形式 并注明出处 子豪兄。

网上的教程很多都没有办法一步到位,关键在于人脸识别的xml文件路径不对,其实是xml文件根本不存在,路径怎么写都不对,在成功运行程序后,记录下过程,供大家参考

1.更改modules文件

sudo nano /etc/modules

在这个文件末尾添加一行:

bcm2835-v4l2

2.确认树莓派摄像头安装成功

输入命令:

vcgencmd get_camera

如果得到下面的结果,则证明摄像头连接成功

3.在树莓派上安装运行在Python2上的OpenCV

(1)安装

打开树莓派的命令行界面,两个命令即可完成安装。执行第一条命令需要半个小时左右,请耐心等待。第二条命令执行只需要几秒钟。

子豪兄友情提示:

建议第一个命令用树莓派桌面上自带的命令行工具运行,而不要使用远程ssh连接。因为执行命令时间太长,中途如果ssh断线的话无法得知是否已经安装完毕。

命令:

sudo apt-get install libopencv-dev

sudo apt-get install python-opencv

(2)在Python2上测试OpenCV

安装好之后,在命令行中输入python或者python2,回车

输入:import cv2

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

也可以输入

cv2.version

查看opencv版本号

也可以在桌面命令行里输入以下三个命令调用树莓派摄像头,把摄像头捕捉到的画面显示在桌面上,按ctrl+c键退出。

git clone /TommyZihao/opencvtest.git

cd opencvtest

python2 testopencv.py

三条命令依次执行即可

== 至此opencv安装完成==

4.下载人脸识别代码和xml文件并运行

(没有xml文件,代码是会出错的)

代码如下:来自github

import numpy as npimport cv2faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#xml文件名,注意写对路径, 提示“ ./ ”的意思是当前文件夹cap = cv2.VideoCapture(0)cap.set(3,640) # set Widthcap.set(4,480) # set Heightwhile True:ret, img = cap.read()img = cv2.flip(img, -1)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = faceCascade.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=5,minSize=(20, 20))for (x,y,w,h) in faces:cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)roi_gray = gray[y:y+h, x:x+w]roi_color = img[y:y+h, x:x+w] cv2.imshow('video',img)k = cv2.waitKey(30) & 0xffif k == 27: # press 'ESC' to quit #先点击视频窗口,然后按esc键即可终止此程序,注意不要使用ctrl+C/X/Z 来退出程序,在raspi上容易卡住breakcap.release()cv2.destroyAllWindows()

参考:如何从github上下载xml文件

xml文件链接:/Mjrovai/OpenCV-Face-Recognition/tree/master/FaceDetection/Cascades

从github想下载的文件的详情页面返回到上层目录,直到右下方出现图示Clone or download,点击即可

人脸识别教程相关链接

手把手教你使用OpenCV库(附实例、Python代码解析)

OpenCV + Python 实现人脸识别

Linux下用OpenCV制作自己的人脸识别xml文件

附:两个错误的解决办法

一:

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor

版权声明:本文为CSDN博主「一个处女座的程序猿」的原创文章,遵循 CC 4.0 BY-SA 版权协议。原文链接:/qq_41185868/article/details/79818012

二:

OpenCV Error: Assertion failed (!empty()) in detectMultiScale

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。