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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
python操作字典类型的常用方法(推荐)
May 16 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
python自动生成model文件过程详解
Nov 02 Python
使用python实现回文数的四种方法小结
Nov 24 Python
pytorch实现查看当前学习率
Jun 24 Python
python字典与json转换的方法总结
Dec 28 Python
python实现不同数据库间数据同步功能
Feb 25 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去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python批量修改文件后缀的方法
2014/01/26 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
python lxml中etree的简单应用
2019/05/10 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
对python中return与yield的区别详解
2020/03/12 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
Python: glob匹配文件的操作
2020/12/11 Python
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
佳能英国官方网站:Canon UK
2017/08/08 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
求职信范文英文版
2014/01/05 职场文书
五一家具促销方案
2014/01/10 职场文书
企业宣传方案
2014/03/04 职场文书
党员创先争优承诺书
2014/03/26 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
2015年植树节活动总结
2015/02/06 职场文书
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python
Java基础——Map集合
2022/04/01 Java/Android