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 相关文章推荐
在Linux系统上安装Python的Scrapy框架的教程
Jun 11 Python
Python编程中装饰器的使用示例解析
Jun 20 Python
python snownlp情感分析简易demo(分享)
Jun 04 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
django url到views参数传递的实例
Jul 19 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 Python
Python Matplotlib绘制动画的代码详解
May 30 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
Snoopy类使用小例子
2008/04/15 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
php继承的一个应用
2011/09/06 PHP
PHP数据流应用的一个简单实例
2012/09/14 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
js比较日期大小的方法
2015/05/12 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
小程序实现发表评论功能
2018/07/06 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
利用python代码写的12306订票代码
2015/12/20 Python
python使用mysql的两种使用方式
2018/03/07 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python实战之制作天气查询软件
2019/05/14 Python
关于Python作用域自学总结
2019/06/10 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Python切图九宫格的实现方法
2019/10/10 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
高考考python编程是真的吗
2020/07/20 Python
秋季红领巾广播稿
2014/01/27 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
小学开学典礼主持词
2014/03/19 职场文书
公司员工辞职信范文
2015/05/12 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
MySQL5.7并行复制原理及实现
2021/06/03 MySQL