实验三 基于Open CV的人脸检测

实验目的

了解人脸检测和人脸识别的原理

学习Python编程语言

学会使用网络摄像头

实验介绍

OpenCV是用于机器视觉的最流行的函数库,拥有C++, C, Python 和 Java 接口,支持Windows、Linux、Mac OS、iOS 和 Android。
人脸检测是自动人脸识别系统中的一个关键环节。随着电子商务等应用的发展,人脸识别成为最有潜力的生物身份验证手段,这种应用背景要求自动人脸识别系统能够对一般图象具有一定的识别能力,由此所面临的一系列问题使得人脸检测开始作为一个独立的课题受到研究者的重视。今天,人脸检测的应用背景已经远远超出了人脸识别系统的范畴,在基于内容的检索、数字视频处理、视频检测等方面有着重要的应用价值。

本次实验分为两部分,第一部分为对已有图像,检测图像中人脸个数。第二部分为通过USB摄像头,识别出usb摄像头拍摄画面中人脸的位置。

硬件清单

pcDuino3B
USB摄像头

软件清单

Ubuntu 14.04
OpenCV
Python

实验步骤

一. 硬件连接
将摄像头插入USB Host,并启动pcDuino3B
!\[Alt text\]\(./1475076861613.png\)
图2.3.1 硬件连接图

注意:连接网线后如果出现无法上网情况,请先添加网关。

在电脑上输入 ipconfig(windows系统下命令行窗口) 命令查询网线网关(黄色部分):

将网线插入板子中,在终端输入:

sudo route add default gw 10.103.75.129(此处替换自己网关)

登陆校园网账号

二. 对已有的图像进行人脸检测
1.下载人脸识别源码

git clone https://github.com/shantnu/FaceDetect

cd FaceDetect
python face_detect.py abba.png haarcascade_frontalface_default.xml

在我们提供的pcduino8_uno_lib-master压缩包中包含了源码,可以将压缩包添加至自己的用户下并进行解压缩。
打开pcduino8-uno-guide
打开demo
打开2.FaceDetection
执行代码

python face_detect.py abba.png haarcascade_frontalface_default.xml

实验结果如下图,可以看到程序找到了人脸的位置并得到了图像中人脸的数量。

图2.3.2 人脸识别结果1
2.请同学自己找一张包含人脸的图片添加进去并进行人脸检测

三. 通过摄像头进行人脸检测
下载源码

mkvirtualenv --system-site-packages env

git clone https://github.com/shantnu/Webcam-Face-Detect

cd Webcam-Face-Detect

python webcam.py haarcascade_frontalface_default.xml

人脸识别源码运行成功后,自动打开摄像头,并且可以识别中摄像头拍摄画面中人脸的位置。若运行失败,按照下列步骤修改摄像头设备序号。

未插入摄像头前,在终端输入

ls /dev

插入后,再次输入

ls /dev

可以看到,当前摄像头设备序号为1

修改webcam.py文件中

video_capture = cv2.VideoCapture(0)

括号中的设备序列号,保存后再次启动即可。

results matching ""

    No results matching ""