opencv使用Harr级联创建一个人脸识别器

-- coding:utf-8 --

import cv2
import numpy as np

加载人脸检测级联文件

face_cascade = cv2.CascadeClassifier(‘cascade_files/haarcascade_frontalface_alt.xml’)

确认级联文件是否正确加载

if face_cascade.empty():
raise IOError(‘Unable to load the face cascade classifier xml file’)

初始化视频采集对象,调用笔记本电脑的前置摄像头

cap = cv2.VideoCapture(0)

定义下图像采样比例系数

scaling_factor = 0.5

循环采集图像,直到按下Esc按键

while True:
# Capture the current frame and resize it
ret, frame = cap.read()
frame = cv2.resize(frame, None, fx=scaling_factor, fy=scaling_factor,
interpolation=cv2.INTER_AREA)

# 图像转化为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# 灰度图像上运行人脸检测器
face_rects = face_cascade.detectMultiScale(gray, 1.3, 5)

# 在脸部画矩形框
for (x,y,w,h) in face_rects:
    cv2.rectangle(frame, (x,y), (x+w,y+h), (0,255,0), 3)

# 展示输出的图像
cv2.imshow('Face Detector', frame)

# 检测是否按下ESC键
c = cv2.waitKey(1)
if c == 27:
    break

释放摄像头资源,关闭窗口

cap.release()
cv2.destroyAllWindows()
opencv使用Harr级联创建一个人脸识别器_第1张图片

你可能感兴趣的:(机器视觉,python,opencv)