当前位置: 首页 > news >正文

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 += 1start_frame += frame_intervalif start_frame >= frame_count:break

3、全部代码

import cv2def 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 = 0while 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 += 1start_frame += frame_intervalif start_frame >= frame_count:breakcap.release()cv2.destroyAllWindows()if __name__ == '__main__':# 视频地址file_name = "视频链接"main(file_name)
http://www.lryc.cn/news/117224.html

相关文章:

  • MongoDB SQL
  • node js连接mysql数据库
  • 通过Python模拟计算附近WIFI密码,没有我蹭不到的网
  • ubuntu20.04 远程桌面配置记录【亲测好用】
  • 解决selenium的“can‘t access dead object”错误
  • Docker Dockerfile 使用方法
  • (6)(6.3) 复合连接的故障处理
  • 报考红帽认证难不,红帽认证考试容易吗?
  • 如何优雅地用VS编写C#代码——快捷键的使用
  • 微服务——操作索引库+文档操作+RestClient操作索引库和文档(java程序)
  • 【性能测试】性能数据采集工具nmon安装使用及报告参数含义详解
  • 『PostgreSQL』在 PostgreSQL中创建只读权限和读写权限的账号
  • 基于Java+SpringBoot+Vue的网上书城管理系统设计与实现(源码+LW+部署文档等)
  • 安全渗透——AWK知识整理
  • 计算机视觉的应用9-视觉领域中的61个经典数据集【大集合】的应用与实战
  • Go中for循环的遮挡效应
  • UE4 Cesium 学习笔记
  • 【LeetCode】322.零钱兑换
  • 中电金信:国际结算系统的“王冠”,为什么十年都戴在“它”的头上
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis em
  • fine-tuning(微调)的理解
  • 深入理解设计模式面经
  • STM32单片机蓝牙APP宠物自动喂食器定时语音提醒喂食系统设计
  • 武汉凯迪正大—串联谐振在电力系统中应用的优点:
  • Git仓库、分支的区别
  • C#生成随机验证码
  • 如何使用C++来找出编码88表示的字符?指出至少两种方法。
  • Kafka:springboot集成kafka收发消息
  • 本质矩阵E、基本矩阵F、单应矩阵H
  • Oracle database Linux自建环境备份至远端服务器自定义保留天数