Atitit Java  OpenCV 捕获视频

,打开一段视频或默认的摄像头

有两种方法,一种是在定义类的时候,一种是用open()方法。

一. 读取视频序列

OpenCV提供了一个简便易用的框架以提取视频文件和USB摄像头中的图像帧,如果只是单单想读取某个视频,你只需要创建一个cv::VideoCapture实例,然后在循环中提取每一帧。新建一个Qt控制台项目,直接在main函数添加:

注意:要正确打开视频文件,计算机中必须安装有对应的解码器,否则cv::VideoCapture无法理解视频格式!)运行后,将出现一个窗口,播放选定的视频(需要在创建cv::VideoCapture对象时指定视频的文件名)。

2015/02/10 · IT技术 · OpenCV

分享到:14

原文出处: Ronny 的博客(@RonnyYoung)

视频中包含的信息量要远远大于图片,对视频的处理分析也越来越成为计算机视觉的主流,而本质上视频是由一帧帧的图像组成,所以视频处理最终还是要归结于图像处理,但在视频处理中,有更多的时间维的信息可以利用。本文主要介绍OpenCV在处理视频时的一些基本函数。

一、视频帧的读取

OpenCV为视频的读入提供了一个类VideoCapture,下面我们说明一下类的几个重要的方法:

1,打开一段视频或默认的摄像头

有两种方法,一种是在定义类的时候,一种是用open()方法。

C++

1

2

VideoCapture capture("../video.avi"); // 方法1

capture.open("../video.avi"); // 方法2

如果把文件名换为设置ID,则可打开摄像头,默认摄像头为0。

2,获取视频帧

获取视频帧可以有多种方法

C++

1

2

3

4

5

6

7

// 方法一

capture.read(frame);

// 方法二

capture.grab();

capture.retrieve(frame);

// 方法三

capture>>frame;

3,获取视频的参数

一个视频有很多参数,比如:帧率、总帧数、尺寸、格式等,VideoCapture的get方法可以获取大量这些参数。

C++

1

2

double rate=capture.get(CV_CAP_PROP_FPS); // 获取

long nFrame=static_cast<long>(capture.get(CV_CAP_PROP_FRAME_COUNT)); // 获取总帧数

更加相关的参数可以参考手册。

.为了保证视频播放的流畅性,帧与帧之间加入了时延。这个时延是通过帧率算出来的。

private static void t2() {

OpencvUtil.ini();

//open camera source

VideoCapture capture=new VideoCapture(1);

//获取整个帧数

Mat frame=new Mat();

boolean stop=false;

// 遍历每一帧

while (true)

{

// 尝试读取下一帧

boolean read = capture.read(frame);

System.out.println(" cap read rzt:"+read);

//if (!read)

//             break;

Highgui.imwrite("d:\\0clr\\video"+filex.getUUidName()+".jpg", frame);

//        Highgui..imshow("Extracted Frame",frame);

// 引入延迟

core.sleep(1000);

System.out.println( filex.getUUidName());

}

}

OpenCV成长之路(10):视频的处理 - 文章 - 伯乐在线.html

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke交友协会会长  uke捕猎协会会长 Emir Uke部落首席大酋长,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

uke 首席cto   软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理   uke科技研究院院长uke软件培训大师

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

uec学院校长, uecip图像处理机器视觉专业系主任   uke文档检索专业系主任

Uke图像处理与机器视觉学院首席院长

Uke 户外运动协会理事长  度假村首席大村长   uke出版社编辑总编

转载请注明来源:attilax的专栏  ?http://blog.cn.NET/attilax

--Atiend  v8

Atitit Java OpenCV 捕获视频相关推荐

  1. OpenCV捕获视频和摄像头

    从文件中捕获视频 其实使用OpenCV读取视频相当简单,只需要初始化一个VideoCapture对象,打开视频文件,逐帧读取. 程序 下面是简单的OpenCV代码: 1 2 3 4 5 6 7 8 9 ...

  2. java opencv 读取视频_java使用OpenCV从视频文件中获取帧

    本文实例为大家分享了java使用OpenCV从视频文件中获取帧的具体代码,供大家参考,具体内容如下 实现功能:使用Java获取mp4.mov.avi等视频文件中的图像帧,每秒获取一帧图像,并保存 环境 ...

  3. Java + OpenCV 实现视频人脸检测

    一.实现思路 调用电脑的摄像头,把摄像的信息逐帧分解成图片,基于图片检测标识出人脸的位置,把处理的图片逐帧绘制给用户,用户看到的效果就是视频的人脸检测. 效果预览: 二.实现步骤 使用OpenCV调用 ...

  4. 基于OpenCV的视频处理管道

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目前可依靠模块化方式实现图像处理管道,检测一堆图像文件中的人脸,并 ...

  5. 基于OpenCV的视频处理 - 人脸检测

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com  Time of completion:2023.2.7 Las ...

  6. 使用Python,OpenCV捕获关键事件,并进行视频剪辑

    使用Python,OpenCV捕获关键事件,并进行视频剪辑 1. 效果图 2. 原理 2.1 步骤 2.2 如何找到HSV空间值呢? [[[60 255 255]]] 3. 源码 3.1 keycli ...

  7. 图像拼接(二):OpenCV同时打开两个摄像头捕获视频

    使用OpenCV实现同时打开两个USB摄像头,并实时显示视频.如果未检测有两个摄像头,程序会结束并发出"摄像头未安装好"的警告.这里推荐一个小巧的摄像头视频捕捉软件:amcap,使 ...

  8. python调用摄像头录制视频_Python OpenCV使用摄像头捕获视频

    我们知道,OpenCV是一款强大的跨平台的计算机视觉库,使用它能完成我们对于图像和视频处理的很多功能,今天,我们使用OpenCV来捕获计算机摄像头的视频. 使用OpenCV捕获摄像头视频 我们知道,视 ...

  9. Java OpenCV 图像处理30 视频分析和对象跟踪 视频读取

    Java OpenCV 图像处理30 视频分析和对象跟踪 视频读取 Java OpenCV-4.0.0 图像处理 视频分析和对象跟踪 视频读取 package com.xu.opencv.video; ...

最新文章

  1. linux新增ssh端口80,Linux(CentOS 7) 新增或修改 SSH默认端口
  2. Kotlin难点解析:extension和this指针
  3. 后端拼接html能做判断吗,怎么判断是前端bug还是后端bug?
  4. linux如何将文件夹添加到书签,桌面应用|[新手技巧] 如何在Ubuntu中添加和删除书签...
  5. UCSD本科数学计算机专业前景如何,2020年UCSD计算机工程排名真该小心来考查
  6. 对于electron-react-boilerplate(ERB)的学习笔记(legacy)
  7. Spring自学教程-AOP学习(五)
  8. Mac 使用Quik Time Player为iPhone录屏后, iPhone状态条时间变为9:41
  9. 使用Fresco实现简单的显示一张图片
  10. 灵悟礼品网上专卖店——画出E-R图
  11. 360 和 qq 之争
  12. android手机无法root成功,为什么有的安卓手机不能Root?
  13. Mac系统安装/升级 Git
  14. 回顾公司系统与微信绑定流程
  15. java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.SpecialProvider 使用MySqlMapper的问题
  16. 电子元器件企业面临缺货涨价,SRM协同系统助力企业采购数字化智慧升级
  17. 一周市场摘抄20210208
  18. 就是用计算机判断一个句子的语义,英语汉语词汇语义及句子结构对比
  19. 手机端也能免费转换CAD图纸啦!
  20. 报错 expect ‘:‘ at 0, actual = com.alibaba.fastjson.JSONException: expect ‘:‘ at 0, actual =

热门文章

  1. 根据Apriltag进行角度和距离检测
  2. 听说英飞凌内推技术岗位有大额奖金
  3. RT-Thread与智能车比赛
  4. 使用示波器测量扬声器的阻抗实验数据
  5. ceph 代码分析 读_Ceph OSD磁盘异常流量问题分析
  6. 面试常用shell脚本_Shell脚本编写及常见面试题
  7. mysql innodb 主键,Mysql InnoDB 引擎 主键性能
  8. adc0808温度换算公式_adc0808模数转换电路图及程序
  9. axi dma cyclic mode调试完成
  10. python3 的乐趣进度条