#importar librerias de python y opencv
import cv2
import numpy as np

#crear VideoCapture y leer video de prueba (si se cambia valor por 0 lee webcam)
cap = cv2.VideoCapture(0)
#utilizar el archivo entrenado para deteccion de carros como cascade
car_cascade = cv2.CascadeClassifier('cars.xml')

#leer hasta que termine el video
while True:
    #leer cada frama del video
    ret, frame = cap.read()
    #convertir frame en escala de grises
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    #detectar carros en el video
    cars = car_cascade.detectMultiScale(gray, 1.1, 3)

    #dibujar rectangulo en donde se detecte vehiculo 
    for (x,y,w,h) in cars:
        cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)      

    #imprimir el frame resultante
    cv2.imshow('video', frame)
    #presionar Q para terminar programa
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break
#liberar VideoCapture
cap.release()
#Cerrar todo
cv2.destroyAllWindows()
