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 Sleep休眠函数使用简单实例
Feb 02 Python
Python合并多个装饰器小技巧
Apr 28 Python
Python中利用sqrt()方法进行平方根计算的教程
May 15 Python
Python实现对excel文件列表值进行统计的方法
Jul 25 Python
python numpy格式化打印的实例
May 14 Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 Python
Python读取指定日期邮件的实例
Feb 01 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
进行数据处理的6个 Python 代码块分享
Apr 06 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网站提速三大“软”招
2006/10/09 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
Python yield 小结和实例
2014/04/25 Python
python正则中最短匹配实现代码
2018/01/16 Python
python中正则表达式与模式匹配
2019/05/07 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
后勤部长岗位职责
2013/12/14 职场文书
大学运动会入场词
2014/02/22 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL