Cómo utilizar OpenCV para el reconocimiento facial
2. Opencv funciona después de la anotación de datos. La función de entrenamiento es muy sencilla. Solo existen las siguientes tres oraciones:
Ptrlt; FaceRecognizergt; model = createEigenFaceRecognizer();
model-gt; model- gt. save("MyFacePCAModel.xml");
3. Luego abra la cámara para la detección de rostros, es decir, encuadre la posición del rostro. El modelo de detección de rostros viene con opencv.
CascadeClassifier cascade;
cascade.load("haarcascade_frontalface_alt.xml");
Este es el método de carga.
cascade.detectMultiScale(gris, caras,
1.1, 2, 0
/|CV_HAAR_FIND_BIGGEST_OBJECT
/|CV_HAAR_DO_ROUGH_SEARCH
/|CV_HAAR_SCALE_IMAGE,
Tamaño(30, 30));
Este es el método de detección. Lo que obtienes aquí son marcos rectangulares para la cara y luego los dibujas usando el método de dibujar rectángulos.
4. Luego use el modelo de rostro que acabamos de entrenar para identificar el rostro detectado. Cargando:
Ptrlt;FaceRecognizergt; modelPCA = createEigenFaceRecognizer();
modelPCA-gt;load("MyFacePCAModel.xml");
Detección: p>
p>
int predictPCA = 0;
if (face.rows gt; = 120)
{
resize(face, face_test, Size(92, 112));
}
if (!face_test. vacío())
{
predictPCA = modelPCA-gt; predict(face_test);
}
Si el resultado previsto es igual al resultado marcado, significa que el reconocimiento es correcto.
El proceso general es así. Si sabes algo sobre opencv, deberías poder entenderlo.