静态图像人脸和眼睛检测

1678956-20190525170124569-1119685631.jpg

import cv2

导入人脸级联分类器引擎,'.xml'文件里包含训练出来的人脸特征.

cv2.data.haarcascades即为存放所有级联分类器模型文件的目录

face_cascade=cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')

导入人眼级联分类器引擎,'.xml'文件里包含训练出来的人眼特征.

eye_cascade=cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_eye.xml')

读入一张图片,若图片与.py文件不在同一路径,需添加路径名

数字1为彩色通道,0为灰度图像

img=cv2.imread('girl.png',1)

用人脸级联分类器引擎进行人脸识别

返回的faces为人脸坐标列表,1.3是放大比例,5是重复识别次数

faces=face_cascade.detectMultiScale(img,1.3,5)

对每一张脸进行操作

for (x,y,w,h) in faces:

#画出人脸框,RBG色彩体系,最后的数字表示画笔的宽度

img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

#框选出人脸区域,在人脸区域而不是全图中进行人眼检测,节省计算资源

face_area=img[y:y+h,x:x+w]
eyes=eye_cascade.detectMultiScale(face_area)

#用人眼级联分类器引擎在人脸区域进行人眼识别,返回的eyes为眼睛坐标列表
for (ex,ey,ew,eh) in eyes:

    #画出人眼眶,绿色,最后的数字仍表示画笔宽度

    cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),1)

在“img”窗口中展示效果图

cv2.imshow("img",img)

cv2.waitKey(0);
cv2.destroyAllWindows()

保存效果图:

cv2.imwrite("output.jpg",img)

转载于:https://www.cnblogs.com/double-points/p/10923022.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值