python:opencv之人脸识别
模型准备
https://github.com/opencv/opencv/tree/master/data/haarcascades
# -*- coding: utf-8 -*-
# 开发团队 :UoS金鑫钢开发团队
# 开发团队领导 :wanson
# 开发人员姓名 :wanson
# 开发人员学号/工号 :10379
# 个人/公司邮箱 :wanson@ahszu.edu.cn
# 开发时间 :2020-8-22 20:22
# 文件名称 :ex01.py
# 开发工具 :PyCharm
# 开发系统当前用户 :Wanson
# 引入库
import cv2
import numpy
#
cap = cv2.VideoCapture(0) # 调整参数实现读取视频或调用摄像头
while 1:
# 读取内容
ret, frame = cap.read()
cv2.namedWindow("input video", cv2.WINDOW_AUTOSIZE)
cv2.imshow("input video", frame)
# 人脸识别代码
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
face_detector = cv2.CascadeClassifier("D:/python_project/opencv4/ch00/haarcascade_frontalface_alt_tree.xml")
eye_detector = cv2.CascadeClassifier("D:/python_project/opencv4/ch00/haarcascade_eye.xml")
eyeglasses_detector = cv2.CascadeClassifier("D:/python_project/opencv4/ch00/haarcascade_eye_tree_eyeglasses.xml")
# 检测人脸
faces = face_detector.detectMultiScale(gray, 1.02, 2)
for x, y, w, h in faces:
# 蓝色
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 5)
# 检测人眼
eye = eye_detector.detectMultiScale(gray, 2, 2)
for x, y, w, h in faces:
# 绿色
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 检测眼镜
eyeglasses = eyeglasses_detector.detectMultiScale(gray, 1.02, 2)
for x, y, w, h in faces:
# 红色
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 3)
cv2.imshow("result", frame)
cv2.namedWindow("result", cv2.WINDOW_AUTOSIZE)
# 人脸识别代码
# 随时退出按q键 英文状态下
if cv2.waitKey(100) & 0xff == ord('q'):
break
# 停止调用,关闭窗口
cap.release()
cv2.destroyAllWindows()
posted on 2020-08-22 21:53 Indian_Mysore 阅读(131) 评论(0) 收藏 举报
浙公网安备 33010602011771号