龙空技术网

一哥带你直击基于Python+Opencv的人脸检测现场

一哥侃电影 1127

前言:

现在你们对“python27安装cv2”大体比较注意,咱们都需要了解一些“python27安装cv2”的相关资讯。那么小编在网络上网罗了一些对于“python27安装cv2””的相关文章,希望你们能喜欢,咱们一起来了解一下吧!

马上要开学了,一哥打算做一些类似于人脸识别这样稍微有点技术含量的项目。正好今天晚上吃多了睡不着,搭个环境试一下。

准备条件:

Windows10操作系统

Python:Python2.7.x

Opencv:Opencv2.4.x

安装完成后将(..\opencv\build\python\2.7\x64)下的cv2.pyd复制到(..\Python27\Lib\site-packages)下面。(具体路径根据你安装的路径填写)

下载pip:

安装相关库:

1).进入Python的命令行模式,输入import cv2,若是没有报错表示opencv安装成功

2).输入pip install numpy 或者 pip install matplotlib

基本环境搭建好了,可以进行测试了。

测试

目标图片

2.用以下下代码检测目标图片中的人脸和人眼

# -*- coding: utf-8 -*import numpyimport cv2face_cascade = cv2.CascadeClassifier('D:\develop\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml')eye_cascade = cv2.CascadeClassifier('D:\develop\opencv\sources\data\haarcascades\haarcascade_eye.xml')img = cv2.imread('1.jpg')#灰度化目标图片gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 获取训练好的人脸的参数数据faces = face_cascade.detectMultiScale(gray, 1.1, 5)print "发现{0}个人脸".format(len(faces))for (x,y,w,h) in faces:print x,":",ycv2.rectangle(img,(x,y),(x+w,y+h),(512,0,512),2)roi_gray = gray[y:y+h/2, x:x+w]roi_color = img[y:y+h/2, x:x+w]eyes = eye_cascade.detectMultiScale(roi_gray,1.1,5)print "发现{0}个眼睛".format(len(eyes))for (ex,ey,ew,eh) in eyes:cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)cv2.imshow('result',img)cv2.imwrite("face_detected_1.jpg", img)cv2.waitKey(0)cv2.destroyAllWindows()

3.效果展示

总结:东西虽然简单,但过程却很艰辛,花了两三个小时,这里还只有人脸检测,后期会继续在人脸比对,人脸检索,人脸识别等方面努力,争取取得更大的突破;另外应该有人发现了六个人只检测出了两个人眼,是哪里出了问题,请各位大神在评论区指教!!

标签: #python27安装cv2