Hay dos bibliotecas que puede usar: OpenCV e ImageIO . Cuál elegir depende de la situación y, por lo general, es mejor usar el que ya conoce. Si es nuevo en ambos, ImageIO es más fácil de aprender, por lo que podría ser un buen punto de partida. Cualquiera que elija, puede encontrar ejemplos para ambos a continuación:
ImagenIO
Instalación:
pip install imageio[ffmpeg]
Uso:
Leer fotogramas de una cámara web y guardarlos como imágenes:
Python3
import imageio.v3 as iio for frame_count, frame in enumerate(iio.imiter("<video0>")): iio.imwrite(f"frame_{frame_count}.jpg", frame) if frame_count > 10: break
Leer cuadros de un video y guardarlos como imágenes:
Python3
import imageio.v3 as iio for frame_count, frame in enumerate(iio.imiter("path/to/video.mp4")): iio.imwrite(f"frame_{frame_count}.jpg", frame)
OpenCV
Instalación:
pip install opencv-python
Uso:
Leer fotogramas de una cámara web y guardarlos como imágenes:
Python3
import cv2 # Opens the inbuilt camera of laptop to capture video. cap = cv2.VideoCapture(0) i = 0 while(cap.isOpened()): ret, frame = cap.read() # This condition prevents from infinite looping # incase video ends. if ret == False: break # Save Frame by Frame into disk using imwrite method cv2.imwrite('Frame'+str(i)+'.jpg', frame) i += 1 cap.release() cv2.destroyAllWindows()
Producción:
Leer cuadros de un video y guardarlos como imágenes:
Python3
import cv2 # Opens the inbuilt camera of laptop to capture video. cap = cv2.VideoCapture("path/to/video.mp4") success, image = cap.read() frame_count = 0 while success: cv2.imwrite(f"extracted_images/frame_{frame_count}.jpg", image) success, image = cap.read() frame_count += 1 cap.release()
Publicación traducida automáticamente
Artículo escrito por arun singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA