Create Video from Images or NumPy Array using Python OpenCV | OpenCV Tutorial
In this Python OpenCV Tutorial, explain how to create a video using NumPy array and images.

Video From NumPy Array
import numpy as np import cv2 import os width = 1280 hieght = 720 channel = 3 fps = 30 sec = 5 # Syntax: VideoWriter_fourcc(c1, c2, c3, c4) # Concatenates 4 chars to a fourcc code # cv2.VideoWriter_fourcc('M','J','P','G') or cv2.VideoWriter_fourcc(*'MJPG) fourcc = cv2.VideoWriter_fourcc(*'MP42') # FourCC is a 4-byte code used to specify the video codec. # A video codec is software or hardware that compresses and decompresses digital video. # In the context of video compression, codec is a portmanteau of encoder and decoder, # while a device that only compresses is typically called an encoder, and one that only # decompresses is a decoder. Source - Wikipedia #Syntax: cv2.VideoWriter( filename, fourcc, fps, frameSize ) video = cv2.VideoWriter('test.mp4', fourcc, float(fps), (width, hieght)) for frame_count in range(fps*sec): img = np.random.randint(0,255, (hieght, width, channel), dtype = np.uint8) video.write(img) video.release()
Video from Images
import numpy as np import cv2 import os width = 1280 hieght = 720 channel = 3 fps = 10 sec = 5 fourcc = cv2.VideoWriter_fourcc(*'MP42') video = cv2.VideoWriter('image_to_video.avi', fourcc, float(fps), (width, hieght)) directry = r'C:\Users\kashz\AI Life\AI Projects - IAIP, PTs (Web + Channel)\02 OpenCV\000 opencv tutorial\data\images' img_name_list = os.listdir(directry) for frame_count in range(fps*sec): img_name = np.random.choice(img_name_list) img_path = os.path.join(directry, img_name) img = cv2.imread(img_path) img_resize = cv2.resize(img, (width, hieght)) video.write(img_resize) video.release()