# 截取视频帧存储 import cv2 import os os.environ['OPENCV_FFMPEG_READ_ATTEMPTS'] = '4096' # 视频文件路径(不可以有汉字) video_path = '1.mp4' # 输出文件夹路径(不可以有汉字) output_folder = r'D:\8' # 确保输出文件夹存在 os.makedirs(output_folder, exist_ok=True) # 创建VideoCapture对象并传入视频文件路径 cap = cv2.VideoCapture(video_path) # 获取视频总帧数和帧率 frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) fps = cap.get(cv2.CAP_PROP_FPS) # 计算需要截帧的时间间隔(以帧为单位) frame_interval = fps *N #每隔N秒,截取一帧 # 初始化帧计数器 frame_index = 0 while True: # 读取下一帧 ret, frame = cap.read() # 如果正确读取帧,ret为True if not ret: break # 检查是否到达截帧的时间间隔 if frame_index % frame_interval == 0: # 构建输出图片的文件名 filename = os.path.join(output_folder, f'frame_{frame_index}.jpg') # 保存帧为图片 cv2.imwrite(filename, frame) print(f'Saved {filename}') # 更新帧计数器 frame_index += 1 # 释放VideoCapture对象 cap.release() print('Video processing completed.')
Python应用—利用opencv读取视频帧存储为图片
最新推荐文章于 2024-08-31 19:06:06 发布