白桦的天空

第一次的心动,永远的心痛!
随笔 - 349, 文章 - 15, 评论 - 203, 阅读 - 25万
  首页  :: 新随笔  :: 联系 :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

如何使用 opencv-python 提取视频每一帧的图片?

Posted on   白桦的天空  阅读(385)  评论(0编辑  收藏  举报

参考:https://blog.csdn.net/u013066730/article/details/126356627

获取视频(创建 VideoCapture 对象)

使用 cv2.VideoCapture 类

Args:

  • filename – 文件路径;
  • device – 视频设备id ,若只有一个摄像头可以填 0,表示打开默认摄像头;
    1
    vc = cv2.VideoCapture(filename)

    检验 VideoCapture 对象是否创境成功

    使用 VideoCapture 对象的 isOpened 方法

    1
    2
    3
    4
    5
    # determine whether to open normally
    if vc.isOpened():
        ret, frame = vc.read()
    else:
        ret = False

      

    若成功,返回 True。

    按帧读取视频

    使用 VideoCapture 对象的 read 方法

    使用 VideoCapture 对象的 read 方法按帧读取视频,ret, frame 是 read 方法的两个返回值 ,其中 ret 是布尔值,如果能正确读取帧,则返回 True;如果文件读取到结尾,它的返回值就为 False。frame 就是每一帧的图像,是一个三维矩阵。

    1
    2
    3
    # loop read video frame
    while ret:
        ret, frame = vc.read()

      

    保存图片

    使用 cv2.imwrite() 函数

    第一个参数是文件名,第二个参数是图片资源。

  • 1
    cv2.imwrite(image_path, image)

      

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示