将定时连拍照片转为延时视频

将定时连拍照片转为延时视频

2023-11-4·devcxl
devcxl

本文通过用 Python 实现连拍照片自动转延时影片,简化创作流程。

我个人是比较喜欢拍延时摄影的,但是手机上的延时摄影选项屏幕会常亮,手机续航雪崩,而定时连拍则不会,这极大的保证了手机延时摄影的续航。

定时连拍的缺点是产出的结果是照片而不是视频,于是就有了下面这个脚本,将小米手机中定时连拍的照片转换为视频。


import cv2
import os
from tqdm import tqdm

# 连拍照片文件夹
image_folder = '/path/to/photos/'

# 视频输出文件名
video_filename = 'output_video.mp4'

# 视频帧率
frame_rate = 12

# 视频分辨率
width, height = 2048, 1080

# 获取图像文件列表并按图片序号排序
image_files = sorted([img for img in os.listdir(image_folder) if img.endswith(".jpg")],
                     key=lambda x: int(x.split("TIMEBURST")[1].split(".jpg")[0]))

# 创建视频写入对象
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(video_filename, fourcc, frame_rate, (width, height))

# 遍历图像并将它们添加到视频
for image_file in tqdm(image_files, desc="合成进度"):
    image_path = os.path.join(image_folder, image_file)
    img = cv2.imread(image_path)
    img = cv2.resize(img, (width, height))
    out.write(img)

# 释放视频写入对象
out.release()

print("视频合成完成:" + video_filename)