将定时连拍照片转为延时视频
将定时连拍照片转为延时视频
本文通过用 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)