代码:

#include<opencv2/opencv.hpp>
using namespace cv;
#include<string>
using namespace std;
#include<thread>
int main(){
    //视频源
    VideoCapture cap;
    cap.open();//来自摄像头
    Mat src;
    cap >> src;

    VideoWriter writer;
    //写视频参数准备
    string filename = "output.avi";//输出文件名
    /*
    union {
        int value;
        char code[4];
    } fourcc;//视频编码格式
    fourcc.code[0] = 'M';
    fourcc.code[1] = 'J';
    fourcc.code[2] = 'P';
    fourcc.code[3] = 'G';
    */
    '));
    ;//每秒钟播放图像帧数
     / fps;
    cv::Size size = cv::Size(cap.get(CV_CAP_PROP_FRAME_WIDTH), cap.get(CV_CAP_PROP_FRAME_HEIGHT));//视频图像尺寸
    bool isColor = true;//是否是彩图
    writer.open(filename, fourcc, fps, size, isColor);

    while (src.data){
        writer << src;

        imshow("src", src);
        waitKey(delay);
        cap >> src;
    }

    ;
}

保存的视频使用播放器播放,播放速度总是异常的快,但代码逻辑确实没错。网上搜索这个问题,发现别人也遇到了这个问题,但没有找到准确的解决方法。

opencv写视频的更多相关文章

  1. Opencv读取视频一闪而过情况分析

    在参加一个软件比赛需要用opencv对视频的处理,也碰到了一些问题. 最常见的就是视频一闪而过了,在网上查了好久都没解决, 最后重装在配置环境变量时发现的. 现在我来终结一下估计是比较全的了. 先说明 ...

  2. opencv打开视频文件出错

    使用C#调用mingw的so文件,在C++端使用opencv打开视频.这样的项目完成过了一个,第二次做的时候,发现opencv打开视频文件出错. 首先怀疑是opencv的opencv_ffmpeg24 ...

  3. OpenCV学习笔记(2)——如何用OpenCV处理视频

    如何用OpenCV处理视频 读取视频文件,显示视频,保存视频文件 从摄像头获取并显示视频 1.用摄像头捕获视频 为了获取视频,需要创建一个VideoCapature对象.其参数可以是设备的索引号,也可 ...

  4. opencv 读取视频内容写入图片帧

    现在主要把自己平时用到的opencv功能记录到博客,一方面方便自己有时间来回顾,另一方便提供给大家一个参考. opencv 读取视频内容,把视频帧每一帧写成图片,存入电脑中.这个步骤是许多数据处理的基 ...

  5. 使用opencv显示视频的方法

    下面对使用opencv显示视频做一个简单的记录.当然,网上这方面的资料已经数不胜数了,我只是将其简单记录,总结一下. 在opencv中显示视频主要有: (1)从本地读取视频和调用摄像头读取视频 (2) ...

  6. 基于opencv将视频转化为字符串Java版

    基于opencv将视频转化为字符串Java版 opencv java  先上一个效果图吧 首先,弄清一下原理 我们要将视频转化为字符画,那么就需要获取画面的每一帧,也就是每一张图片,然后将图片进行转化 ...

  7. Atitit Java OpenCV 捕获视频

    Atitit Java  OpenCV 捕获视频 ,打开一段视频或默认的摄像头 有两种方法,一种是在定义类的时候,一种是用open()方法. 一. 读取视频序列 OpenCV提供了一个简便易用的框架以 ...

  8. 用OpenCV进行视频截取

    记录用OpenCV进行视频截取. 核心代码如下: CvCapture* capture = cvCreateFileCapture(src_avi_file.c_str()); if (capture ...

  9. C# 利用 OpenCV 进行视频捕获 (笔记)

    原文:C# 利用 OpenCV 进行视频捕获 (笔记) 简介 这个项目是关于如何从网络摄像头或者视频文件(*.AVI)中捕获视频的,这个项目是用C#和OPENCV编写的. 这将有助于那些喜欢C#和Op ...

随机推荐

  1. 黄聪:PHP7.0中htmlspecialchars出错解决方案(wordpress)

    htmlspecialchars( $context, ENT_COMPAT, 'UTF-8' )

  2. 黄聪:MYSQL使服务器内存CPU占用过高问题的分析及解决方法

    方法一: 使用 show processlist 语句,查找负荷最重的 SQL 语句,优化该SQL,比如适当建立某字段的索引. 方法二: #查看慢SQL日志是否启用mysql> show var ...

  3. java byte转无符号int

    import java.io.ByteArrayInputStream; public class Test{ public static void main(String[] args) { byt ...

  4. [IIS]IIS扫盲(五)

    第二篇 IIS之FTP服务器 一.建立你的FTP站点 第一个FTP站点(即“默认FTP站点”)的设置方法和更多FTP站点的建立方法请参照前文Web服务器中相关操作执行.需要注意的是,如果你要用一个IP ...

  5. 5.Integer to Roman && Roman to Integer

    Roman chart: http://literacy.kent.edu/Minigrants/Cinci/romanchart.htm Integer to Roman Given an inte ...

  6. 异常Throwable类

     所有异常类型都是Throwable类的子类,它派生出两个子类 Error和Exception          Error类:表示紧靠程序本身无法恢复的严重错误,如内存溢出,动态链接失败,虚拟机错误 ...

  7. COM调用 – VB、PB

    本文使用Delphi和C++创建CRC32的COM文件(Dll). VB: V6.0 PB: V8.0 Delphi创建的文件,提供给VB6调用:C++创建的文件,提供给PB8调用. 一.VB部分 C ...

  8. MySQL绿色版5.7以上安装教程

    写在前面:5.7增加了安全性,默认root密码不在为空,而是初始化时随机生成一个root密码,改root密码的方式也不一样了 下载地址 http://dev.mysql.com/downloads/m ...

  9. lintcode-【简单题】链表求和

    题目: 你有两个用链表代表的整数,其中每个节点包含一个数字.数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头.写出一个函数将两个整数相加,用链表形式返回和. 样例: 给出两个链表 3- ...

  10. python基础05 缩进与选择

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...