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

opencv视频抽帧保存图片

opencv视频抽帧保存图片video2pic

文章目录

  • opencv视频抽帧保存图片video2pic
    • opencv视频按帧率抽帧
    • opencv视频按帧数抽帧


opencv视频按帧率抽帧

import cv2
import os
video_path='C:/Users/Desktop/video/1.mp4'
name=os.path.basename(video_path).split(".")[0]
output_dir_folder = 'C:/Users/Desktop/pic/'
output_folder=os.path.join(output_dir_folder,name)
# 指定帧率
fps = 1 #1s取一帧 
# 创建文件夹
if not os.path.exists(output_folder):os.makedirs(output_folder) 
# 打开视频
cap = cv2.VideoCapture(video_path) 
# 计算每隔多少帧保存一帧
step = max(1, int(cap.get(cv2.CAP_PROP_FPS) / fps))
# 读取视频帧
i = 0
count=1
while True:ret, frame = cap.read()if not ret:break    # 按指定的帧率保存帧if i % step == 0:filename = os.path.join(output_folder, name+f"_{count:03d}.jpg")cv2.imwrite(filename, frame)count+=1print(f"Saved frame: {i}")    i += 1 
# 释放视频对象
cap.release()

opencv视频按帧数抽帧

import cv2
import time
# 定义视频捕捉对象
cap = cv2.VideoCapture(1)  # 参数0代表计算机的默认摄像头
count=0
i=0
while(cap.isOpened()):ret, frame = cap.read()  # if ret:#10帧保存一帧if i%10==0:cv2.imwrite("C:/Users/Desktop/0527_%s.jpg"%(count),frame)count+=1i+=1if cv2.waitKey(1) & 0xFF == ord('q'):breakelse:break# 释放资源
cap.release()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 云界洞见——基于移动云云数据库MySQL应用实践
  • websocket聊天(全源码)
  • 探索Linux中的神奇工具:探秘tail命令的妙用
  • 【C++/STL】vector(常见接口、模拟实现、迭代器失效)
  • graspnet+Astra2相机实现部署
  • vue3使用Ant-Design组件a-table表格实现多层表头及合并单元格
  • JavaWeb-JS
  • pycharm画图猫和老鼠
  • Jenkins配置(插件/角色/凭证)
  • 文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑分布式光伏高效消纳与负荷损失最小的区域配电网应急资源协同配置策略》
  • 力扣 滑动窗口题目总结
  • javaEE—图书管理系统(基础代码版)
  • 基于Vue的应届毕业生财务管理系统-计算机毕业设计源码82886
  • Android 通过adb命令查看设备尺寸和设置
  • 代码随想录算法训练营第四十一天 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Google 是如何开发 Web 框架的
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 08.Android之View事件问题
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • JavaWeb(学习笔记二)
  • k8s如何管理Pod
  • React-flux杂记
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue自定义指令实现v-tap插件
  • 百度地图API标注+时间轴组件
  • 创建一个Struts2项目maven 方式
  • 对象管理器(defineProperty)学习笔记
  • 记一次用 NodeJs 实现模拟登录的思路
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 全栈开发——Linux
  • Mac 上flink的安装与启动
  • ​Linux·i2c驱动架构​
  • ​低代码平台的核心价值与优势
  • ​浅谈 Linux 中的 core dump 分析方法
  • #Linux(权限管理)
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (C++)八皇后问题
  • (pytorch进阶之路)扩散概率模型
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (七)glDrawArry绘制
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • *p++,*(p++),*++p,(*p)++区别?
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .Net Core和.Net Standard直观理解
  • .net framework 4.8 开发windows系统服务
  • .NET 直连SAP HANA数据库