Opencv(C++)笔记--打开摄像头、保存摄像头视频

这篇具有很好参考价值的文章主要介绍了Opencv(C++)笔记--打开摄像头、保存摄像头视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1--打开摄像头

关键代码语句:

① VideoCapture cam(0);

② cam.read(img);

③ imshow("cam", img);

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

int main(int argc, char *argv[]){
    // 打开摄像头
    VideoCapture cam(0); 
    if (!cam.isOpened()){
        cout << "cam open failed!" << endl;
        getchar();
        return -1;
    }

    cout << "cam open success!" << endl;
    namedWindow("cam");
    Mat img;

    for(;;){
        cam.read(img); // 读帧
        if (img.empty()) break; 
        imshow("cam", img); // 显示每一帧

        if (waitKey(5) == 'q') break; // 键入q停止
    }

    return 0;
}

2--保存摄像头视频

关键代码:

①VideoWriter vw

②vw.open():fourcc指定编码格式(常见编码方式)、fps指定帧率、Size指定大小

③vw.write()

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

int main(int argc, char *argv[]){
    // 打开摄像头
    VideoCapture cam(0); 
    if (!cam.isOpened()){
        cout << "cam open failed!" << endl;
        getchar();
        return -1;
    }
    cout << "cam open success!" << endl;

    namedWindow("cam");
    Mat img;
    VideoWriter vw;
    int fps = cam.get(CAP_PROP_FPS); // 获取原视频的帧率
    if (fps <= 0) fps = 25;
    
    vw.open("./out1120.avi",
        VideoWriter::fourcc('X', '2', '6', '4'),
        fps,
        Size(cam.get(CAP_PROP_FRAME_WIDTH), 
            cam.get(CAP_PROP_FRAME_HEIGHT))
        );

    if (!vw.isOpened()){ // 判断VideoWriter是否正常打开
        cout << "videoWriter open failed!" << endl;
        getchar();
        return -1;
    }
    cout << "videoWriter open sucess!" << endl;
    for(;;){
        cam.read(img); // 读帧
        if (img.empty()) break; 
        imshow("cam", img); // 展示当前帧
        /* 
        这里可以添加对当前帧的处理操作
        */
        vw.write(img); // 保存当前帧
        if (waitKey(5) == 'q') break; // 键入q停止
    }

    return 0;
}

注:在Windows上执行上述代码可能会报以下错误:

Opencv(C++)笔记--打开摄像头、保存摄像头视频

解决方法:在输出的网址下载对应版本的库文件,放在执行文件.exe的同级目录即可,或者将该dll文件的路径添加到系统变量path中。

Opencv(C++)笔记--打开摄像头、保存摄像头视频

 结果:生成的out1120.avi可以正常播放;文章来源地址https://www.toymoban.com/news/detail-505004.html

到了这里,关于Opencv(C++)笔记--打开摄像头、保存摄像头视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等)

    OpenCV不仅能够处理图像,还能够处理视频 视频是由大量的图像构成的 ,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要想处理视频,需要先对视频进行读取、显示、保存等相关操作。为此

    2024年03月14日
    浏览(49)
  • OpenCV保存摄像头视频和视频文件操作实战(附Python源码)

    需要源码和视频请点赞关注收藏后评论区留言私信~~~ 在实际开发过程中,很多时候希望保存一段视频,为此,OpenCV提供了VideoWriter类,下面先熟悉一下里面的各种方法 VideoWriter类的常用方法包括它的构造方法,write方法和release方法 语法如下 VideoWriter object=cv2.VideoWriter(filename

    2024年02月07日
    浏览(64)
  • opencv入门到精通——图片,视频,摄像头的读取与保存

    OpenCV是一个流行的开源计算机视觉库,由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包,可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。OpenCV主要使用C++语言编写,同时也支持Python、Java、C等语言。由于其开源和广泛使用的

    2024年02月08日
    浏览(52)
  • OpenCV4(C++)—— 视频和摄像头的加载、显示与保存

      视频或摄像头的加载是使用 cv::VideoCapture 类。(这个类和 ifstream 类比较相似,视频或摄像头的加载和文本文件操作是大致相同。主要步骤:(1)加载(打开)视频或视像头。(2) 判断加载是否成功。 (3)读取内容。(4)关闭。) 注意:   (1)VideoCapture类变量同时

    2024年02月06日
    浏览(41)
  • Opencv(C++)系列学习---读取视频文件和打开摄像头

    今天学习的这两个内容比较简单,话不多说,直接上代码! 目录 【1】读取视频文件 【2】摄像头读取视频 运行结果:  这段代码较为简单,有兴趣的同学也可以挑战一下,在视频读取上加个进度条,可以通过鼠标拖动进度条到指定位置,像平时我们用的视频播放器一样,主

    2024年02月16日
    浏览(52)
  • OpenCV中读取、显示、保存摄像头视频讲解与实战(附Python源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像以固定的时间间隔从视频中获取。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要处理视频,需要先对视频进

    2024年02月05日
    浏览(50)
  • OpenCV基础知识(9)— 视频处理(读取并显示摄像头视频、播放视频文件、保存视频文件等)

    前言: Hello大家好,我是小哥谈。 OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要想处理视频,需要先对视频进行读

    2024年02月11日
    浏览(57)
  • C#使用OpenCv(OpenCVSharp)使用摄像头视频显示和录制及图片保存、本地视频显示

    本篇实例讲解基于OpenCvSharp实现了摄像头视频显示、录制及截图、视频保存,本地视频的显示功能。 目录 创建winform项目添加控件 NuGet安装opencvsharp  代码  运行效果 实例实现过程

    2024年02月15日
    浏览(48)
  • opencv进阶09-视频处理cv2.VideoCapture示例(打开本机电脑摄像头)

    视频信号(以下简称为视频)是非常重要的视觉信息来源,它是视觉处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成的,这一系列图像被称为帧,帧是以固定的时间间隔从视频中获取的。获取(播放)帧的速度称为帧速率,其单位通常使用“帧/秒”表示

    2024年02月12日
    浏览(53)
  • 电脑微信视频摄像头怎么打开 微信视频聊天怎么打开电脑摄像头

    最近有用户在使用电脑微信视频聊天的时候,不知道怎么打开电脑摄像头的权限,今天小编就给大家带来了微信视频聊天打开电脑摄像头的具体方法。无论你是台式电脑还是联想、戴尔、华硕、华为等品牌都可以使用本文的方法,有需要的用户们赶紧来看一下吧。 电脑微信视

    2024年02月06日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包