前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV-Python 人脸眼睛嘴识

OpenCV-Python 人脸眼睛嘴识

作者头像
py3study
发布2020-01-20 14:41:49
1.2K0
发布2020-01-20 14:41:49
举报
文章被收录于专栏:python3
代码语言:javascript
复制
 1 # 识别眼睛、嘴巴、人脸
 2 image = cv2.imread('./yong.jpg')
 3 
 4 gray = cv2.cvtColor(image,code=cv2.COLOR_BGR2BGRA)
 5 # 加载算法
 6 face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
 7 eye_detector = cv2.CascadeClassifier('./haarcascade_eye.xml')
 8 mouth_detector = cv2.CascadeClassifier('./haarcascade_mcs_mouth.xml')
 9 
10 face_zone = face_detector.detectMultiScale(gray,1.3,3,minSize=(80,80))
11 print(face_zone)
12 for x,y,w,h in face_zone:
13     cv2.rectangle(image, pt1=(x,y),pt2=(x+w,y+h), color=[0,0,255],thickness=2)
14 
15 #  人脸切分
16 h_up = int(face_zone[0,-1]*0.6)
17 x,y,w,h = face_zone.reshape(-1)
18 # 头部
19 head = gray[y:y+h,x:x+w]
20 head_up = head[0:h_up]
21 head_down = head[h_up:]
22 # 检测眼睛
23 eye_zone = eye_detector.detectMultiScale(head_up,1.3,3,minSize=(10,10))
24 for ex,ey,ew,eh in eye_zone:
25     cv2.rectangle(image, pt1=(ex + x,ey+y), pt2=(ex+ew+x,ey+eh+y),color=[0,255,0],thickness=1)
26 
27 # 检查嘴
28 mouth_zone = mouth_detector.detectMultiScale(head_down,1.3,3,minSize=(10,10))
29 for mx,my,mw,mh in mouth_zone:
30     cv2.rectangle(image, pt1=(mx + x,my+y+h_up), pt2=(mx+mw+x,my+mh+y+h_up),color=[255,0,0],thickness=1)
31 
32 
33 cv2.imshow('liyong', image)
34 cv2.waitKey(0)
35 cv2.destroyAllWindows()    

  代码第一行:    导入图片

  第二行:      灰度化处理

  第六--九行:    读取特征数据,并使用分类器对特征数据进行处理

  第十--十三行:   进行人脸识别

  第十五--二十一行: 进行人脸切分,在上部分识别眼睛;人脸下部分识别嘴的预处理

  第二十三--二十五行:  识别眼睛

  第二十八--三十行:  识别嘴 

  将人脸眼睛替换成自定义眼睛:

  只需要将上面的第24到25行修改成

代码语言:javascript
复制
eye = cv2.imread('./eye.jpg')
for ex,ey,ew,eh in eye_zone:
#     cv2.rectangle(image, pt1=(ex + x,ey+y), pt2=(ex+ew+x,ey+eh+y),color=[0,255,0],thickness=1)
    # 眼睛缩放
    eye2 = cv2.resize(eye,dsize=(ew,eh))
    # 替换
    image[y+ey: y+ey+eh,ex+x:ex+x+ew] = eye2

  eye2 = cv2.resize(eye,dsize=(ew,eh))    将读取的图片换成识别出的眼睛大小

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档