zoukankan      html  css  js  c++  java
  • python视频分帧

    1.每隔几帧取一张

    import cv2
     
    cap = cv2.VideoCapture("./query_video/test_video_0.mp4")
    c = 1
    frameRate = 10  # 帧数截取间隔(每隔100帧截取一帧)
     
    while(True):
        ret, frame = cap.read()
        if ret:
            if(c % frameRate == 0):
                print("开始截取视频第:" + str(c) + "")
                # 这里就可以做一些操作了:显示截取的帧图片、保存截取帧到本地
                cv2.imwrite("./capture_image/" + str(c) + '.jpg', frame)  # 这里是将截取的图像保存在本地
            c += 1
            cv2.waitKey(0)
        else:
            print("所有帧都已经保存完成")
            break
    cap.release()

    2.每隔几秒取一张

    import cv2
    cap = cv2.VideoCapture("./query_video/test_video_0.mp4")
    c = 1
    timeRate = 10  # 截取视频帧的时间间隔(这里是每隔10秒截取一帧)
     
    while(True):
        ret, frame = cap.read()
        FPS = cap.get(5)
        if ret:
            frameRate = int(FPS) * timeRate  # 因为cap.get(5)获取的帧数不是整数,所以需要取整一下(向下取整用int,四舍五入用round,向上取整需要用math模块的ceil()方法)
            if(c % frameRate == 0):
                print("开始截取视频第:" + str(c) + "")
                # 这里就可以做一些操作了:显示截取的帧图片、保存截取帧到本地
                cv2.imwrite("./capture_image/" + str(c) + '.jpg', frame)  # 这里是将截取的图像保存在本地
            c += 1
            cv2.waitKey(0)
        else:
            print("所有帧都已经保存完成")
            break
    cap.release()

    参考:https://blog.csdn.net/David_jiahuan/article/details/105550791

  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/StarZhai/p/14717850.html
Copyright © 2011-2022 走看看