Capture y guarde video usando OpenCV
Computer Vision es un dominio de las ciencias de la computación, específicamente de la inteligencia artificial, que permite que los sistemas informáticos comprendan y extraigan detalles de imágenes digitales, videos y otras fuentes visuales.
Usando la visión por computadora, podemos realizar varias tareas complejas, como detección de objetos, clasificación de imágenes, segmentación, detección de bordes, reconocimiento facial, detección de patrones y coincidencia de características.
Hoy en día, varios lenguajes de programación ofrecen soporte para la visión por computadora, incluido Python. Python es un lenguaje de programación versátil de propósito general tipado dinámicamente.
Dispone de una biblioteca, OpenCV u Open Computer Vision, que nos ayuda a realizar la visión artificial.
OpenCV es una biblioteca de visión artificial en tiempo real desarrollada por Intel. Es una biblioteca multiplataforma escrita en lenguajes de programación C y C++.
Esta biblioteca nos permite realizar varias tareas, como capturar video, procesar cuadros de video, manipular colores y transformar imágenes y videos.
En este artículo, aprenderemos cómo grabar videos de cámaras web y guardarlos usando OpenCV.
Guardar video de la cámara usando OpenCV
Consulte el siguiente código de Python.
import cv2
capture = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter("output.avi", fourcc, 20.0, (640, 480))
while capture.isOpened():
ret, frame = capture.read()
if ret == True:
out.write(frame)
cv2.imshow("frame", frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
capture.release()
out.release()
cv2.destroyAllWindows()
El código de Python anterior registra todo lo que ve la cámara web de su sistema, y cuando el usuario presiona la tecla Q en el teclado, deja de grabar, cierra la ventana de la cámara y guarda el archivo de video con el nombre de output.avi
en el directorio de trabajo.
Primero, usamos el método cv2.VideoCapture()
para obtener un objeto de captura de video para la cámara del sistema. A continuación, especificamos el códec de vídeo mediante el método cv2.VideoWriter_fourcc()
.
A continuación, declaramos el tamaño de la ventana de la cámara y las propiedades de salida.
A continuación, declaramos un bucle for
que captura todo lo que ve la cámara y lo guarda hasta que se presiona la tecla Q y el bucle termina. Por último, se guarda el video, se destruye la ventana de la cámara y se libera la cámara web.