通过使用Picamera2的set_controls()设置帧率,和capture_request()方法保存图像,来实现延时摄影的效果,具体细节见下面的代码和注释:
import time
from picamera2 import Picamera2
picam2 = Picamera2()
picam2.configure("still") # 配置拍照模式
picam2.start() # 启动摄像头
time.sleep(1)
# 设置摄像头的曝光和白平衡与帧率
picam2.set_controls({"AeEnable": False, "AwbEnable": False, "FrameRate": 1.0})
time.sleep(1) # 等待1秒,使设置生效
start_time = time.time() # 记录开始时间
for i in range(1, 51):
r = picam2.capture_request() # 创建拍照请求
r.save("main", f"image{i}.jpg") # 保存图像
r.release() # 释放请求
print(f"Captured image {i} of 50 at {time.time() - start_time:.2f}s") # 打印拍照信息
picam2.stop()