Extraer imágenes de video en Python

OpenCV viene con muchas funciones poderosas de edición de video. En el escenario actual, las técnicas como el escaneo de imágenes y el reconocimiento facial se pueden lograr utilizando OpenCV.

El Análisis de Imágenes es un campo muy común en el área de la Visión por Computador. Es la extracción de información significativa de videos o imágenes. La biblioteca OpenCv se puede usar para realizar múltiples operaciones en videos.

Módulos necesarios:

import cv2
import os

Función utilizada:

VideoCapture(File_path) : Read the video(.mp4 format)

read() : Leer datos dependiendo del tipo de objeto que llama

imwrite(filename, img[, params]) : Guarda una imagen en un archivo especificado.

A continuación se muestra la implementación:

# Importing all necessary libraries
import cv2
import os
  
# Read the video from specified path
cam = cv2.VideoCapture("C:\\Users\\Admin\\PycharmProjects\\project_1\\openCV.mp4")
  
try:
      
    # creating a folder named data
    if not os.path.exists('data'):
        os.makedirs('data')
  
# if not created then raise error
except OSError:
    print ('Error: Creating directory of data')
  
# frame
currentframe = 0
  
while(True):
      
    # reading from frame
    ret,frame = cam.read()
  
    if ret:
        # if video is still left continue creating images
        name = './data/frame' + str(currentframe) + '.jpg'
        print ('Creating...' + name)
  
        # writing the extracted images
        cv2.imwrite(name, frame)
  
        # increasing counter so that it will
        # show how many frames are created
        currentframe += 1
    else:
        break
  
# Release all space and windows once done
cam.release()
cv2.destroyAllWindows()

Producción:
image

Todas las imágenes extraídas se guardarán en una carpeta llamada «datos» en el sistema.
img

Publicación traducida automáticamente

Artículo escrito por aishwarya.27 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 *