Recopilación de datos de detección de rostros en tiempo real de la cámara Python

¿Cómo salvar la cara con la cámara?

Para la recopilación de datos de reconocimiento facial basada en opencv, recopilo datos para mí mismo. Consulte los comentarios del código para obtener más detalles. La escritura es muy detallada. Presione s para guardar la imagen como prueba.jpg y presione q para salir de la interfaz:

el código se muestra a continuación:

import cv2

cap = cv2.VideoCapture(0)  #摄像头开启,也可以传入mp4

# 相机的默认帧大小在Windows或Ubuntu中将为640x480

# cap.isOpened() 返回 true/false, 检查摄像头初始化是否成功
print(cap.isOpened())


while cap.isOpened():
    ret_flag, img_camera = cap.read()

    cv2.imshow("camera", img_camera)

    # 每帧数据延时 1ms, 延时为0, 读取的是静态帧
    k = cv2.waitKey(1)

    # 按下 's' 保存截图
    if k == ord('s'):
        cv2.imwrite("test.jpg", img_camera)

    # 按下 'q' 退出
    if k == ord('q'):
        break

# 释放所有摄像头
cap.release()

# 删除建立的所有窗口
cv2.destroyAllWindows()

Efecto de demostración:
inserte la descripción de la imagen aquí

registro facial

En primer lugar, nos basamos en
el modelo de reconocimiento: modelo preentrenado ResNet basado en Dlib dlib_face_recognition_resnet_model_v1.dat

Algoritmo de identificación: Red neuronal ResNet.

El reconocimiento facial necesita comparar y analizar los datos de imagen extraídos con los datos de imagen existentes para determinar si se trata de la persona, por lo que aquí se trata principalmente de realizar una recopilación de datos más conveniente.

Cómo utilizar:

“n” 新录入人脸,新建文件夹 person_X/  用来存储某人的人脸图像
 "s" 开始捕获人脸,将捕获到的人脸放到 person_X/ 路径下
“q” 退出窗口

inserte la descripción de la imagen aquí
n Después de crear la carpeta, presione s varias veces para recopilar sus propios datos faciales:
inserte la descripción de la imagen aquí

Puede darse cuenta de la entrada de varias personas, cada persona crea una carpeta por separado.

Supongo que te gusta

Origin blog.csdn.net/weixin_46211269/article/details/122789942
Recomendado
Clasificación