MarkMoHR's picture
added code
7aefe45
raw
history blame contribute delete
972 Bytes
from typing import Any, Union
import pathlib
import cv2
def create_video(num_iter: int,
save_dir: Union[Any, pathlib.Path],
video_frame_freq: int = 1,
fname: str = "rendering_process",
verbose: bool = True):
if not isinstance(save_dir, pathlib.Path):
save_dir = pathlib.Path(save_dir)
img_array = []
for i in range(0, num_iter):
if i % video_frame_freq == 0 or i == num_iter - 1:
filename = save_dir / f"iter{i}.png"
img = cv2.imread(filename.as_posix())
img_array.append(img)
video_name = save_dir / f"{fname}.mp4"
out = cv2.VideoWriter(
video_name.as_posix(),
cv2.VideoWriter_fourcc(*'mp4v'),
30.0, # fps
(600, 600) # video size
)
for iii in range(len(img_array)):
out.write(img_array[iii])
out.release()
if verbose:
print(f"video saved in '{video_name}'.")