Programa OpenCV Python para la detección de vehículos en un cuadro de video

Conceptos básicos de detección de rostros

El objetivo del programa dado es detectar el objeto de interés (Coche) en cuadros de video y seguir rastreando el mismo objeto. Este es un ejemplo de cómo detectar vehículos en Python.

¿Por qué Detección de Vehículos?

  • Las pérdidas alarmantes tanto en vidas humanas como financieras causadas por accidentes de vehículos.
  • La detección de vehículos en imágenes adquiridas desde una plataforma en movimiento es un problema desafiante.

Pasos para descargar los requisitos a continuación:

  • Descargue la versión Python 2.7.x, numpy y la versión OpenCV 2.4.x. Compruebe si su Windows de 32 o 64 bits es compatible e instálelo en consecuencia.
    sudo apt-get install python
    pip install numpy
    • instalar OpenCV desde aquí
    • Asegúrese de que numpy se esté ejecutando en su python y luego intente instalar opencv.
    • Coloque el archivo cars.xml en la misma carpeta. Guarde esto como archivo .xml.
    • Descarga este video desde aquí como entrada

    # OpenCV Python program to detect cars in video frame
    # import libraries of python OpenCV 
    import cv2
      
    # capture frames from a video
    cap = cv2.VideoCapture('video.avi')
      
    # Trained XML classifiers describes some features of some object we want to detect
    car_cascade = cv2.CascadeClassifier('cars.xml')
      
    # loop runs if capturing has been initialized.
    while True:
        # reads frames from a video
        ret, frames = cap.read()
          
        # convert to gray scale of each frames
        gray = cv2.cvtColor(frames, cv2.COLOR_BGR2GRAY)
          
      
        # Detects cars of different sizes in the input image
        cars = car_cascade.detectMultiScale(gray, 1.1, 1)
          
        # To draw a rectangle in each cars
        for (x,y,w,h) in cars:
            cv2.rectangle(frames,(x,y),(x+w,y+h),(0,0,255),2)
      
       # Display frames in a window 
       cv2.imshow('video2', frames)
          
        # Wait for Esc key to stop
        if cv2.waitKey(33) == 27:
            break
      
    # De-allocate any associated memory usage
    cv2.destroyAllWindows()

    Referencias:

    Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

    Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *