Detecta caras de gatos en tiempo real usando Python-OpenCV

La detección de rostros es una tecnología para identificar rostros a partir de la imagen. Usamos OpenCV de Python para esto. También podemos usar la detección de rostros en el caso de los animales. Si uno puede echar un vistazo de cerca al repositorio de OpenCV, el directorio de cascadas haar para ser específico (donde OpenCV almacena todos sus clasificadores haar pre-entrenados para detectar varios objetos, partes del cuerpo, etc.), hay dos archivos:

  • haarcascade_frontalcatface.xml
  • haarcascade_frontalcatface_extended.xml

El objetivo del programa proporcionado es detectar el objeto de interés (cara de gato) en tiempo real y seguir rastreando el mismo objeto. Este es un ejemplo simple de cómo detectar la cara del gato en Python. Puede intentar usar muestras de entrenamiento de cualquier otro objeto de su elección para ser detectado entrenando el clasificador en los objetos requeridos.

A continuación se muestra la implementación.

# OpenCV program to detect cat face in real time 
# import libraries of python OpenCV 
# where its functionality resides 
import cv2 
  
# load the required trained XML classifiers 
# https://github.com/Itseez/opencv/blob/master/ 
# data/haarcascades/haarcascade_frontalcatface.xml 
# Trained XML classifiers describes some features of some 
# object we want to detect a cascade function is trained 
# from a lot of positive(faces) and negative(non-faces) 
# images. 
face_cascade = cv2.CascadeClassifier('haarcascade_frontalcatface.xml') 
  
  
# capture frames from a camera 
cap = cv2.VideoCapture(0) 
  
# loop runs if capturing has been initialized. 
while 1: 
  
    # reads frames from a camera 
    ret, img = cap.read() 
  
    # convert to gray scale of each frames 
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
  
    # Detects faces of different sizes in the input image 
    faces = face_cascade.detectMultiScale(gray, 1.3, 5) 
  
    for (x,y,w,h) in faces: 
        # To draw a rectangle in a face 
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,0),2) 
        roi_gray = gray[y:y+h, x:x+w] 
        roi_color = img[y:y+h, x:x+w] 
  
  
    # Display an image in a window 
    cv2.imshow('img',img) 
  
    # Wait for Esc key to stop 
    k = cv2.waitKey(30) & 0xff
    if k == 27: 
        break
  
# Close the window 
cap.release() 
  
# De-allocate any associated memory usage 
cv2.destroyAllWindows() 

Producción:

python-cat-face-detection

Publicación traducida automáticamente

Artículo escrito por vigneshsuresh4499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *