Red de conocimiento informático - Aprendizaje de programación - ¿Cómo determina opencv si un rostro tiene un rostro humano?

¿Cómo determina opencv si un rostro tiene un rostro humano?

CVSEQ * Caras = CVHaardetectObjects(small_img, cascada, almacenamiento, 1.1, 2, 0, CVSize (100, 60) /* Tamaño del objetivo de detección utilizado en el entrenamiento del clasificador en cascada */ // Las caras detectadas devolvieron una superficie rectangular.

/*Encuentre regiones rectangulares en la imagen que contienen el objeto de destino utilizando un clasificador en cascada entrenado para el objeto de destino y devuelva estas regiones como una serie de cuadros rectangulares.

La capacidad de buscar imágenes varias veces utilizando ventanas de escaneo de diferentes proporciones (consulte CVetimages para HaarclassifierCard).

Cada vez, cvRunHaarClassifierCascade detecta estas áreas superpuestas en la imagen. */

//t =(double)cvGetTickCount()-t;

//printf("Tiempo de detección = gms\n ", t/((double)cvgettickcfrequency( )* 1000. ) );

for(I = 0; I lt (face? Face - gt; Total: 0); I )//Encuentra el centro del rectángulo y conviértelo en un círculo .

{

CvRect * r = (CvRect *)cvGetSeqElem(faces, I /*Accede directamente a los elementos de la secuencia*/

CvPoint center); ; // Uno de los tipos de datos básicos de OpenCV, que utiliza coordenadas enteras para representar puntos bidimensionales.

int radio;

centro x = cv redondo((r- gt; x r- gt; ancho * 0,5) * escala

centro); . y = cv round((r- gt; y r- gt; alto * 0.5)*escala);

radio = cv round((r- gt; ancho r- gt; alto)* 0.25 *Escala); // ¡Redondea un doble y devuelve un número entero!

cvCircle(img, centro, radio, colores[i8], 3, 8, 0 /*Dibujar un círculo*/

* * * * * * * * *); * * * * * * printf("¡Cara detectada!");************************************ *

//Agregue un programa de reconocimiento facial aquí.

}

No sorprende, amigo mío, que esta parte esté en tu código. Si desea saber si se detecta una cara, está convirtiendo marcadores de cara rectangulares en marcadores circulares.

Eso significa que la cara de alguien ha sido marcada, ¡así que debe haber una cara!

}