Looking for opencv Answers? Try Ask4KnowledgeBase
Looking for opencv Keywords? Try Ask4Keywords

opencvUsando los clasificadores en cascada en Java


Sintaxis

  • CascadeClassifier cascade = new CascadeClassifier ("cascade.xml"); // Crea un clasificador en cascada desde cascade.xml
  • Mat image = Imgcodecs.imread ("image.png"); // Convierte image.png en un objeto Mat (Matrix)
  • Detecciones de MatOfRect = nuevo MatOfRect (); // Crea un archivo vacío MatOfRect (Matriz de rectángulos), utilizado como salida para nuestras clases de detección
  • detections.toArray (); // Devuelve una matriz de objetos Rect que se pueden iterar sobre
  • Imgproc.rectangle (imagen, nuevo punto (rect.x, rect.y), nuevo punto (rect.x + rect.width, rect.y + rect.height), nuevo escalar (0, 255, 0)); // Dibuja un rectángulo con contorno verde desde las ubicaciones x e y del primer punto hasta las ubicaciones x e y del segundo punto en la "imagen" del objeto Mat. "rect" es un objeto Rect, generalmente proporcionado por detections.toArray (). Utiliza la clase de puntos de OpenCV.
  • Imgcodecs.imwrite ("output.png", imagen); // Escribe el objeto Mat modificado "imagen" en la "salida.png"
  • CascadeClassifier.detectMultiScale (imagen, detecciones); // Detecta cualquier objeto en la "imagen" del objeto Mat y genera las detecciones en el objeto "detecciones" MatOfRect
  • CascadeClassifier.detectMultiScale (imagen, detecciones, scaleFactor , minNeighbors , flags , minSize , maxSize ); // Realiza una detección con parámetros adicionales. Vea los detalles abajo.
  • Imgproc.ellipse (imagen, centro, ejes, 0, 0, 360, nuevo Scalar (255, 0, 255), espesor, tipo de línea, 0); // Dibuja una elipse en la imagen en el center punto. Utiliza la clase de puntos de OpenCV.

Parámetros

Parámetro Detalles
factor de escala Cuánto se reduce el tamaño de la imagen en cada escala de imagen. Predeterminado = 1.1
minNeighbors Cuántos vecinos debe tener un rectángulo candidato antes de seleccionarlo como un objeto detectado. Predeterminado = 4
banderas Banderas heredadas. En la mayoría de los casos, esto se debe establecer en 0 . Predeterminado = 0
tamaño minimo Tamaño mínimo que un rectángulo candidato puede ser. Esto utiliza la clase de Size de OpenCV. Puede usarse para disminuir el tiempo de detección y el uso de la CPU, así como para reducir los falsos positivos.
tamaño máximo Tamaño máximo que puede ser un rectángulo candidato. Esto utiliza la clase de Size de OpenCV. Puede usarse para disminuir el tiempo de detección y el uso de la CPU, así como para reducir los falsos positivos.
hachas Utiliza la clase de tamaño de OpenCV. Define el ancho y la altura de la elipse.
espesor Grosor de la línea, en píxeles.
tipo de línea Tiene varios parámetros. 0 es la línea continua, 8 es para una línea conectada a 8, 4 es para una línea conectada a 4 y CV_AA es para una línea suavizada. Predeterminado = 8

Usando los clasificadores en cascada en Java Ejemplos relacionados