使用cv2.imwrite保存不同文件夹中多个视频的帧可以按照以下步骤进行:
import cv2
import os
def save_frames(video_path, output_folder):
# 打开视频文件
video = cv2.VideoCapture(video_path)
# 确保视频文件打开成功
if not video.isOpened():
print("无法打开视频文件")
return
# 创建输出文件夹
os.makedirs(output_folder, exist_ok=True)
# 读取视频帧
success, frame = video.read()
count = 0
# 逐帧保存
while success:
# 构建输出文件路径
output_path = os.path.join(output_folder, f"frame_{count}.jpg")
# 保存帧
cv2.imwrite(output_path, frame)
# 读取下一帧
success, frame = video.read()
count += 1
# 关闭视频文件
video.release()
video_path = "path/to/video.mp4"
output_folder = "path/to/output/folder"
save_frames(video_path, output_folder)
在上述代码中,video_path
是要处理的视频文件的路径,output_folder
是要保存帧的输出文件夹的路径。函数save_frames
会打开视频文件,逐帧读取并保存到指定的输出文件夹中。每一帧都会以"frame_帧序号.jpg"的格式命名并保存为JPEG图像文件。
这种方法适用于需要将多个视频的帧保存到不同文件夹中的情况,可以根据需要修改输出文件夹的路径。
领取专属 10元无门槛券
手把手带您无忧上云