加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)

发布时间:2020-12-20 10:21:58 所属栏目:Python 来源:网络整理
导读:本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172 import numpy as npimport cv2# 脸face_cascade = cv2.CascadeClassifier(‘haarcascade_frontalface_default.xml‘)face_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/

本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172

import numpy as np
import cv2

# 脸
face_cascade = cv2.CascadeClassifier(‘haarcascade_frontalface_default.xml‘)
face_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml‘)
# 眼睛
eye_cascade = cv2.CascadeClassifier(‘haarcascade_eye.xml‘)
eye_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_eye.xml‘)
#嘴巴
mouth_cascade = cv2.CascadeClassifier(‘haarcascade_mcs_mouth.xml‘)
mouth_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_mouth.xml‘)
#鼻子
nose_cascade = cv2.CascadeClassifier(‘haarcascade_mcs_nose.xml‘)
nose_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_nose.xml‘)
#耳朵
leftear_cascade = cv2.CascadeClassifier(‘haarcascade_mcs_leftear.xml‘)
leftear_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_leftear.xml‘)
rightear_cascade = cv2.CascadeClassifier(‘haarcascade_mcs_rightear.xml‘)
rightear_cascade.load(‘D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_rightear.xml‘)

#face_cascade = cv2.CascadeClassifier("../../opencv-2.4.9/data/haarcascades/haarcascade_frontalface_default.xml") 
#eye_cascade = cv2.CascadeClassifier(‘../../opencv-2.4.9/data/haarcascades/haarcascade_eye.xml‘) 

img = cv2.imread(‘22.jpg‘)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#脸
faces = face_cascade.detectMultiScale(gray,1.2,3)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0),2)
roi_gray = gray[y:y+h,x:x+w]
roi_color = img[y:y+h,x:x+w]
#眼睛
eyes = eye_cascade.detectMultiScale(roi_gray,3)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,2)
#嘴巴
mouth = mouth_cascade.detectMultiScale(roi_gray,1.5,5)
for (mx,my,mw,mh) in mouth:
cv2.rectangle(roi_color,(mx,my),(mx+mw,my+mh),255),2)
#鼻子
nose = nose_cascade.detectMultiScale(roi_gray,5)
for (nx,ny,nw,nh) in nose:
cv2.rectangle(roi_color,(nx,ny),(nx+nw,ny+nh),2)

#耳朵
leftear = leftear_cascade.detectMultiScale(roi_gray,1.01,2)
for (lx,ly,lw,lh) in leftear:
cv2.rectangle(roi_color,(lx,ly),(lx+lw,ly+lh),2)

rightear = rightear_cascade.detectMultiScale(roi_gray,2)
for (rx,ry,rw,rh) in rightear:
cv2.rectangle(roi_color,(rx,ry),(rx+rw,ry+rh),2)

cv2.imshow(‘img‘,img)
cv2.waitKey(0)
cv2.destroyAllWindows()

上效果图:

?

参考博客:

1.?点击打开链接

2.点击打开链接

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读