opencv3/C++实现视频读取、视频写入


Posted in Python onDecember 11, 2019

视频读取

视频读取,主要利用VideoCapture类下的方法打开视频并获取视频中的帧,具体示例如下:

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;

int main()
{
  VideoCapture capture;
  Mat frame;
  frame= capture.open("E:/image/a1.avi");
  if(!capture.isOpened())
  {
    printf("can not open ...\n");
    return -1;
  }
  namedWindow("output", CV_WINDOW_AUTOSIZE);

  while (capture.read(frame))
  {
    imshow("output", frame);
    waitKey(10);
  }
  capture.release();
  return 0;
}

capture.open()的参数为0时为读取摄像头:

frame= capture.open(0);

视频写入

通过摄像头获取视频,然后通过capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT)获取当前帧的宽度和高度,创建一个VideoWriter类对象writer进行视频的写入。

写入前可进行视频的简单处理。

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;

int main()
{
  VideoCapture capture;
  capture.open(0);
  if(!capture.isOpened())
  {
    printf("can not open ...\n");
    return -1;
  }

  Size size = Size(capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT));
  VideoWriter writer;
  writer.open("E:/image/a2.avi", CV_FOURCC('M', 'J', 'P', 'G'), 10, size, true);

  Mat frame, gray;
  namedWindow("output", CV_WINDOW_AUTOSIZE);

  while (capture.read(frame))
  {
    //转换为黑白图像
    cvtColor(frame, gray, COLOR_BGR2GRAY); 
    //二值化处理 
    threshold(gray, gray, 0, 255, THRESH_BINARY | THRESH_OTSU);
    cvtColor(gray, gray, COLOR_GRAY2BGR);
    imshow("output", gray);
    writer.write(gray);
    waitKey(10);
  }

  waitKey(0);
  capture.release();
  return 0;
}

opencv3/C++实现视频读取、视频写入

以上这篇opencv3/C++实现视频读取、视频写入就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 条件判断的缩写方法
Sep 06 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
详解flask表单提交的两种方式
Jul 21 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
pandas计算最大连续间隔的方法
Jul 04 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Python为何不支持switch语句原理详解
Oct 21 Python
在Pycharm中安装Pandas库方法(简单易懂)
Feb 20 Python
python定义具名元组实例操作
Feb 28 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 Python
django框架两个使用模板实例
Dec 11 #Python
Python enumerate函数遍历数据对象组合过程解析
Dec 11 #Python
django框架基于queryset和双下划线的跨表查询操作详解
Dec 11 #Python
django框架ModelForm组件用法详解
Dec 11 #Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 #Python
通过实例解析Python调用json模块
Dec 11 #Python
Flask中endpoint的理解(小结)
Dec 11 #Python
You might like
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
python实现报表自动化详解
2017/11/16 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
葬礼司仪主持词
2014/03/31 职场文书
垃圾桶标语
2014/06/24 职场文书
大学生创业计划书
2014/08/14 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
开学第一周值周总结
2015/07/16 职场文书
任命书格式范文
2015/09/22 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python