Python 下opencv 应用:实时人脸检测

mac2025-01-28  24

前面我介绍了 从图片中人脸识别,也介绍了 摄像头接口 ,这2者组合就可以构成实时人脸检测。如果要效果好,还要注意 调整摄像头的参数

程序运行前应该下载好文件haarcascade_frontalface_default.xml,程序注释中有个下载地址。

如果你自己电脑上有opencv,那么电脑上也可以搜索到,我的在C:\opencv347\opencv\sources\data\haarcascades_cuda目录下。并且有很多个。

如果想知道怎么构造这个文件,可以看我另篇博客:目标检测的模型haartraining培训 会这个就可以检测任何东西了。

程序代码如下:

import cv2 # https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml face_patterns = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') #加载分类器,在opencv库内 cap = cv2.VideoCapture(0) #打开摄像头操作,摄像头编号0,1,2,3 cap.set(cv2.CAP_PROP_FRAME_WIDTH,1280) cap.set(cv2.CAP_PROP_FRAME_HEIGHT,1024) while cap.isOpened: #利用read方法读取摄像头的某一帧图片 (ok, image) = cap.read() if not ok: break faces = face_patterns.detectMultiScale(image,scaleFactor=1.1, minNeighbors=5,minSize=(80, 80)) for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imshow('face', image); if cv2.waitKey(10)&0xFF==ord('q'):#按下q,退出循环 break cap.release() cv2.destroyAllWindows()

程序运行效果如下:

最新回复(0)