通过视频截取并保存人脸图片的代码
时间: 2023-03-31 07:02:22 浏览: 195
以下是一个 Python 代码示例,可以使用 OpenCV 库来截取视频中的人脸并保存为图片:
```python
import cv2
# 加载人脸检测器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 打开视频文件
cap = cv2.VideoCapture('video.mp4')
# 循环读取视频帧
while True:
ret, frame = cap.read()
# 如果视频结束,退出循环
if not ret:
break
# 将帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# 遍历每个检测到的人脸
for (x, y, w, h) in faces:
# 在原始帧上绘制矩形框
cv2.rectangle(frame, (x, y), (x+w, y+h), (, 255, ), 2)
# 截取人脸并保存为图片
face_img = frame[y:y+h, x:x+w]
cv2.imwrite('face.jpg', face_img)
# 显示帧
cv2.imshow('frame', frame)
# 按下 q 键退出循环
if cv2.waitKey(1) == ord('q'):
break
# 释放视频文件和窗口
cap.release()
cv2.destroyAllWindows()
```
这段代码使用了 Haar 级联分类器来检测人脸,可以在 OpenCV 官网下载训练好的分类器文件。在每个检测到的人脸周围绘制矩形框,并将人脸截取下来保存为图片。
阅读全文