Cómo cambiar la resolución de video en OpenCV en Python

En este artículo, describiremos cómo puede capturar cada cuadro del video y también cambiar su tamaño según sus necesidades. Lo que haremos exactamente es tomar el video como entrada del usuario y capturarlo cuadro por cuadro. Además, ejecutamos el video en bucle y guardamos los cuadros de imagen con ciertos nombres después de cambiar el tamaño de esos cuadros.

Implementación paso a paso:

Paso 1: Importación de las bibliotecas

Aquí, estamos importando la biblioteca cv2, cv2 es el paquete OpenCV que nos ayuda a llamar a las funciones imread(), startWindowThread(), namedWindow() e imshow() respectivamente.

import cv2

Paso 2: Definir un objeto de captura de video

En este paso, usaremos la función VideoCapture() para obtener un objeto de captura de video para la cámara. Aquí, puede usar su cámara o cargar directamente el video desde su sistema.

vidcap = cv2.VideoCapture(“#Definir la ruta del video”)

Paso 3: captura video cuadro por cuadro

Ahora, capturaremos la duración del video para ejecutar el ciclo. Además, el video se cierra automáticamente una vez que se han capturado todos los cuadros.

success,image = vidcap.read()

Paso 4: Declarar la variable 

Luego, declare la variable y cuente con el valor 0. Esta variable se incrementará aún más mientras se ejecuta el bucle.

count = 0

Paso 5: crear un bucle para ejecutar el video

Además, creamos un ciclo while para ejecutar el video y guardar todos los cuadros de su video en su sistema local. 

while success:

Paso 5.1: Capturar video cuadro por cuadro

A continuación, leeremos el video cuadro por cuadro para cambiar el tamaño de los cuadros y guardarlos en su computadora local.

  success,image = vidcap.read()

Paso 5.2: Cambiar el tamaño de los marcos de imagen

En este paso, hemos utilizado la función resize() con dimensiones particulares para las que se deben configurar los marcos de la imagen.

  resize = cv2.resize(image, (#dimensiones del eje x, #dimensiones del eje y))

Paso 5.3: Guardando los marcos con ciertos nombres

Más tarde, guardamos los marcos de imagen que redimensionamos en el último paso. Además, le damos a los marcos ciertos nombres con las extensiones.

  cv2.imwrite(“%04d.jpg” % recuento, cambio de tamaño)

Paso 5.4: Cerrar el video automáticamente una vez que termina

Además, la función waitKey() se usa para cerrar el video automáticamente una vez que termina.

  if cv2.waitKey(10) == 27:
     break

Paso 5.5 Incrementando la variable en 1

Finalmente, incrementamos el valor de la variable declarada, cuenta en 1.

  count += 1

Ejemplo:

En este ejemplo, hemos utilizado el video ( enlace ) del cual extraeremos ciertos cuadros, cambiaremos el tamaño de esos cuadros y los guardaremos con los nombres particulares en la computadora local.

Python3

# Python program to resize frame's
# from video with aspect ratio
  
# Import the libraries
import cv2
  
# Define a video capture object
vidcap = cv2.VideoCapture("gfg_video.mp4")
  
# Capture video frame by frame
success, image = vidcap.read()
  
# Declare the variable with value 0
count = 0
  
# Creating a loop for running the video
# and saving all the frames
while success:
  
    # Capture video frame by frame
    success, image = vidcap.read()
  
    # Resize the image frames
    resize = cv2.resize(image, (700, 500))
  
    # Saving the frames with certain names
    cv2.imwrite("%04d.jpg" % count, resize)
  
    # Closing the video by Escape button
    if cv2.waitKey(10) == 27:
        break
  
    # Incrementing the variable value by 1
    count += 1

Producción:

Publicación traducida automáticamente

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