| 12345678910111213141516171819202122232425262728293031323334 |
- # 将视频图像分离为单帧序列
- import cv2
- import os
- def main():
- # 视频路径
- # TODO: 修改视频路径为自己的视频路径
- path = r'/video/day_202511211129\4_video_202511211127.dav'
- output_rootpath = r'D:\code\water_turbidity_det\data' # 输出路径的根目录
- # 我们将图像输出到根目录下的子目录中,子目录和视频名称相同
- # 创建路径
- img_base = os.path.basename(path).split('.')[0]
- imgs_output_path = os.path.join(output_rootpath, img_base) # 视频名称不要有.符号混淆后缀名
- if not os.path.exists(imgs_output_path):
- os.mkdir(imgs_output_path)
- # 打开视频文件
- cap = cv2.VideoCapture(path)
- # 检查视频是否成功打开
- if not cap.isOpened():
- raise Exception('错误:无法打开视频文件。')
- frame_count = 0
- while True:
- ret, frame = cap.read()
- if not ret:
- break
- img_save_path = os.path.join(imgs_output_path,f"{frame_count:06d}.jpg")
- cv2.imwrite(img_save_path, frame)
- frame_count += 1
- print(f"已处理{frame_count}帧, 保存至{img_save_path}")
- if __name__ == '__main__':
- main()
|