cascade.detectMultiScale(smallImg, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, cv::Size(30, 30));
El siguiente es un fragmento de código de muestra que muestra cómo usar la clase `cv::CascadeClassifier` para la detección de rostros en OpenCV 4:
`c
# incluir lt; opencv2/opencv.hppgt;
int main()
{
cv::CascadeClassifier face_cascade;
if ( !face_cascade.load("haarcascade_frontalface_default.xml")) {
std::cerr lt;lt; "Error al cargar la cascada de caras\n";
return -1; p>
}
cv::Mat frame = cv::imread("test.jpg");
if (frame.empty()) { p >
std::cerr lt;lt; "Error al cargar la imagen\n";
return -1;
}
cv:: Mat gris;
cv::cvtColor(marco, gris, cv::COLOR_BGR2GRAY);
std::vectorlt; cv::Rectgt; face_cascade.detectMultiScale(gray, faces, 1.1, 2, 0 | cv::CASCADE_SCALE_IMAGE, cv::Size(30, 30));
for (size_t i = 0; i lt; faces .size (); i) {
cv::rectangle(marco, caras[i], cv::Scalar(0, 0, 255), 2);
} p>
cv::imshow("Caras", marco);
cv:::imshow("Caras", marco);
cv::: :imshow ("Caras", marco);
for (size_t i = 0; i lt; faces: waitKey(0);
return 0;
}
``
En este ejemplo, primero cargamos el clasificador en cascada (`` haarcascade_frontalface_default.xml`) y luego leemos la imagen de prueba.
Luego, convierta la imagen de entrada a escala de grises y use la función `detectMultiScale` para detectar caras. Finalmente, se dibuja un cuadro rectangular alrededor de la cara detectada y se muestra la imagen resultante.