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

本文链接: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, 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, 1.2, 3)

for (ex,ey,ew,eh) in eyes:

cv2.rectangle(roi_color, (ex, ey),(ex+ew, ey+eh), (0, 255, 0), 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), (0, 0, 255), 2)

#鼻子

nose = nose_cascade.detectMultiScale(roi_gray, 1.2, 5)

for (nx, ny, nw, nh) in nose:

cv2.rectangle(roi_color, (nx, ny), (nx+nw, ny+nh), (255, 0, 255), 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), (0, 0, 0), 2)

rightear = rightear_cascade.detectMultiScale(roi_gray, 1.01, 2)

for (rx, ry, rw, rh) in rightear:

cv2.rectangle(roi_color, (rx, ry), (rx+rw, ry+rh), (0, 0, 0), 2)

cv2.imshow('img', img)

cv2.waitKey(0)

cv2.destroyAllWindows()

上效果图:

参考博客:

1. 点击打开链接

2.点击打开链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值