当前位置:首页|资讯|ChatGPT

基于opencv-pyhon的人脸识别程序

作者:退休的数学课代表发布时间:2023-01-26

声明:本文章使用ChatGPT生成,并人工纠正错误并排版

1.安装opencv和opencv-python-headless库。

2.导入所需的库:

import CV2 import numpy as np

3.加载人脸识别分类器:

face_cascade = CV2.CascadeClassifier('path/to/haarcascade_frontalface_default.xml')

4.使用OpenCV的VideoCapture类来获取视频流。

cap = CV2.VideoCapture(0)

5.在循环中捕获每一帧,并在每一帧上检测人脸:

while True:

    ret, frame = cap.read()

    gray = CV2.cvtColor(frame, CV2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    for (x,y,w,h) in faces:

        CV2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)

    CV2.imshow('frame',frame)

    if CV2.waitKey(1) & 0xFF == ord('q'):

        break

最后,释放视频流并关闭所有窗口:

cap.release() CV2.destroyAllWindows()

完整代码:

import CV2

import numpy as np

face_cascade = CV2.CascadeClassifier('path/to/haarcascade_frontalface_default.xml')

cap = CV2.VideoCapture(0)

while True:

    ret, frame = cap.read()

    gray = CV2.cvtColor(frame, CV2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    for (x,y,w,h) in faces:

        CV2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)

    CV2.imshow('frame',frame)

    if CV2.waitKey(1) & 0xFF == ord('q'):

        break

cap.release()

CV2.destroyAllWindows()

运行上面的代码将会启动一个窗口,

在窗口中显示视频流并在检测到的人脸上绘制矩形。按“q”键可以退出程序。

需要注意的是,上面的代码使用的是默认的人脸识别分类器,在实际应用中可能需要使用其他分类器或训练自己的分类器来提高识别率。

此外,可以在程序中添加其他功能,如人脸跟踪、人脸识别等。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1