77 视频读写与处理

代码

import cv2 as cvcapture = cv.VideoCapture("../images/video.avi")
height = capture.get(cv.CAP_PROP_FRAME_HEIGHT)
width = capture.get(cv.CAP_PROP_FRAME_WIDTH)
count = capture.get(cv.CAP_PROP_FRAME_COUNT)
fps = capture.get(cv.CAP_PROP_FPS)
print(height, width, count, fps)def process(image, opt=1):dst = Noneif opt == 0:dst = cv.bitwise_not(image)if opt == 1:dst = cv.GaussianBlur(image, (0, 0), 15)if opt == 2:dst = cv.Canny(image, 100, 200)return dstindex = 0
while(True):ret, frame = capture.read()if ret is True:cv.imshow("video-input", frame)c = cv.waitKey(50)if c >= 49:index = c -49result = process(frame, index)cv.imshow("result", result)print(c)if c == 27:  #ESCbreakelse:break
cv.waitKey(0)
cv.destroyAllWindows()

实验结果



解释

OpenCV中对视频内容的处理本质上对读取视频的关键帧进行解析图像,然后对图像进行各种处理,OpenCV的VideoCapture是一个视频读取与解码的API接口,支持各种视频格式、网络视频流、摄像头读取。正常的视频处理与分析,主要是针对读取到每一帧图像,衡量一个算法处理是否能够满足实时要求的时候通常通过FPS(每秒多少帧的处理能力)。一般情况下每秒大于5帧基本上可以认为是在进行视频处理。


所有内容均来源于贾志刚老师的知识星球——OpenCV研习社,本文为个人整理学习,已获得贾老师授权,有兴趣、有能力的可以加入贾老师的知识星球进行深入学习。

【OpenCV】77 视频读写与处理相关推荐

  1. opencv视频读写和视频等间隔采样

    今天学习了opencv的HighGUI的内容 总结了两个视频读写demo以备以后进行视频处理和识别用 demo1 视频的读取和写入 按顺序读取视频的每一帧.对于读取的每一帧图像,显示在窗口中,然后转化 ...

  2. python调用opencv处理视频_Python调用OpenCV读写视频

    最近因为经常对视频进行操作,所以记录下Python用opencv来读写视频的方法. 一.opencv读视频 python调用opencv来读视频比较简单,可以直接调用cv2.VideoCapture来 ...

  3. OpenCV之highgui 模块. 高层GUI和媒体I/O: 为程序界面添加滑动条 OpenCV的视频输入和相似度测量 用OpenCV创建视频

    为程序界面添加滑动条 在以前的教程中 (例如 linear blending 和 brightness and contrast adjustments)你有可能注意到需要 input 一些数值到我们 ...

  4. OpenCV中视频操作及人脸识别案例

    目录 OpenCV中视频操作及人脸识别案例 视频操作 视频读写 从文件中读取视频并播放 保存视频 小结 视频追踪 meanshift Camshift 算法总结 小结 案例:人脸案例 人脸识别基础 实 ...

  5. 通过OpenCV对视频进行绿幕抠图

    通过OpenCV对视频进行绿幕抠图 效果 代码 1.打开视频素材 2.保存视频路径及格式设置 3.读取一帧视频 4.寻找绿幕背景 5.融合 6.代码执行效果 效果 今天跟大家分享的是最近比较受大家喜欢 ...

  6. OpenCV入门(十七)快速学会OpenCV 16 视频处理

    OpenCV入门(十七)快速学会OpenCV 16 视频处理 1.构造VideoCapture对象 2.构造VideoWriter对象 3.视频操作基础 3.1 读取视频帧 3.2 播放视频文件 3. ...

  7. 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题

    解决Python OpenCV 读取视频抽帧出现error while decoding的问题 1. 问题 2. 解决 3. 源代码 参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下: [ ...

  8. 使用Python,OpenCV读取视频的每一帧,修改后写入视频

    使用OpenCV 3将视频写入文件,并保存在自己的磁盘上 尝试支持avi.MP4文件格式的写入,俩种文件的编码格式不一致 codec: MJPG output: example.avi codec: ...

  9. 使用Python,OpenCV在视频中进行实时条形码检测

    使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...

最新文章

  1. 04-VTK可视化管线(1)
  2. 转:mysql的日期/时间函数
  3. python兼职程序员工资一般多少-做Python程序员,工资一般多少?
  4. 很棒的在线裁图工具jQuery1.4.2 + jquery.bitmapcutter.js + BitmapCutter.Core+的完美配合
  5. 面试官:序列化和反序列化为什么要实现Serializable接口?
  6. mysql 高可用工具_MySQL Utilities 高可用工具体验
  7. SqueezeNet
  8. python怎么使用预训练的模型_Keras使用ImageNet上预训练的模型方式
  9. leetcode445. 两数相加 II
  10. 构造函数 返回值_JavaScript构造函数的简单介绍
  11. 数据分析结果解读_物流数据分析的行业特点有哪些?
  12. Juniper MIP
  13. harmonyos 2.0开机动画壁纸,华为鸿蒙OS 2.0开机动画
  14. C#语言入门详解(刘铁锰)---泛型
  15. OutMan——Foundation框架中的NSString类和NSMutableString类
  16. 微信小程序上拉触底事件
  17. unity材质球发光_Unity3D - 发光材质(Emissive Materials)
  18. MyBatis中insert用法
  19. 【java 】 for循环中冒号作用
  20. javascript 设计模式

热门文章

  1. 计算机三维机械设计基础答案,计算机三维机械设计基础 2013年版
  2. 计算机网络单播,单播、多播和广播路由的选择
  3. linux系统ata1.00,SATA读取时 偶尔 发生错误
  4. CSS基础(超详解)
  5. 使用three.js渲染瓦片地球-第一篇
  6. discuzX2插件制作教程
  7. Libevent 学习一:Libevent 源码编译
  8. 山水之道第二境——精灵的世界之城
  9. 矿产行业供应链协同系统解决方案:构建数智化平台,保障矿产资源安全供应
  10. win11下载安装及字体模糊的解决方法