python视频流截图(按帧数)

一、安装opencv计算机视觉库

pip install opencv-python

二、视频流截图

1、读取视频文件,获取视频帧数

import cv2
# 视频位置
video_path = path_file_name
# 读取视频
cap = cv2.VideoCapture(video_path)
# 获取视频总帧数
frame_count = cap.get(cv2.CAP_PROP_FRAME_COUNT)

2、循环遍历帧率,并保存截图

while cap.isOpened():
    cap.set(cv2.CAP_PROP_POS_MSEC, flag)
    cap.set(cv2.CAP_PROP_POS_FRAMES, start_frame)
    ret, img = cap.read()
    cv2.waitKey(2000)
    cv2.imwrite((image_path + "image2/{}.jpg").format(flag), img)
    flag += 1
    start_frame += frame_interval
    if start_frame >= frame_count:
        break

3、全部代码

import cv2


def main(path_file_name):
    # 视频位置
    video_path = path_file_name
    # 读取视频
    cap = cv2.VideoCapture(video_path)
    # 获取视频总帧数
    frame_count = cap.get(cv2.CAP_PROP_FRAME_COUNT)
    # 截图时帧的间距,这里10是要等间距截取10张图 # 帧数
    # frame_interval = int(frame_count // 10)
    frame_interval = 90
    # 起始截取帧位置
    start_frame = 1
    # 截图存储位置
    image_path = ""
    flag = 0
    while cap.isOpened():
        cap.set(cv2.CAP_PROP_POS_MSEC, flag)
        cap.set(cv2.CAP_PROP_POS_FRAMES, start_frame)
        ret, img = cap.read()
        cv2.waitKey(2000)
        cv2.imwrite((image_path + "image2/{}.jpg").format(flag), img)
        flag += 1
        start_frame += frame_interval
        if start_frame >= frame_count:
            break
    cap.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    # 视频地址
    file_name = "视频链接"
    main(file_name)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值