video_depart.py 1.2 KB

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