#-*- coding:utf-8 -*-
import cv2
import sys
from PIL import Image
def CatchUsbVideo(window_name):
cv2.namedWindow(window_name)
#1. 读取视频流,可以来自一段已存好的视频,也可以直接来自摄像头
cap = cv2.VideoCapture(0)
#2. 人脸检测
#告诉OpenCV使用人脸识别分类器
classfier = cv2.CascadeClassifier("haarcascade_frontalface_alt2.xml")
#识别出人脸后要画的边框的颜色,RGB格式
color = (0, 255, 0)
while cap.isOpened():
(ok, frame) = cap.read() #读取一帧数据
if not ok:
break
#将当前帧转换成灰度图像
grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
#3. 给识别出的人脸画矩形框
if len(faceRects) > 0: #大于0则检测到人脸
for faceRect in faceRects: #单独框出每一张人脸
x, y, w, h = faceRect
cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 2)
#4. 显示图像
cv2.imshow(window_name, frame)
c = cv2.waitKey(10)
if c & 0xFF == ord('q'):
break
#释放摄像头并销毁所有窗口
cap.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
CatchUsbVideo("Face Area")
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
源码及文件 Python+opencv人脸识别(笔记1).zip (2个子文件)
源码及文件 Python+opencv人脸识别(笔记1)
haarcascade_frontalface_alt2.xml 528KB
face_recognition_demo.py 2KB
共 2 条
- 1
资源评论
Andy---Wong
- 粉丝: 8
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功