在ubuntu下利用opencv打开usb相机(其他相机类似),并保存视频流

Posted 香菜满上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ubuntu下利用opencv打开usb相机(其他相机类似),并保存视频流相关的知识,希望对你有一定的参考价值。

#include <opencv2/core.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <stdio.h>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
    cv::VideoCapture iv;
    iv.open(0);
    if(!iv.isOpened())
    {
        cout<<"Could not open reference "<<endl;
        return -1;
    }
    else
    {
        cout<<"usb camera success "<<video_dir<<endl;
    }
    Mat src;
    iv >> src;
    bool isColor = (src.type() == CV_8UC3);
    VideoWriter writer;
    int codec = VideoWriter::fourcc('M', 'J', 'P', 'G');  // 选择视频的格式
    double fps = 10.0;//保存的帧率,如果想要保存后的视频时间和录的时间一样,此处fps需要和相机帧率保持一致
    string filename = "/home/robooster/camera.mp4";             // 视频保存的路径
    writer.open(filename, codec, fps, src.size(), isColor);
    // 检查视频是否读取出来
    if (!writer.isOpened()) 
    {
        cerr << "Could not open the video file\\n";
        return -1;
    }
    while (1)
    {
        iv >> src;
        writer.write(src);
    }
}

以上是关于在ubuntu下利用opencv打开usb相机(其他相机类似),并保存视频流的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV学习-打开两个USB相机和视频

OpenCV学习-打开两个USB相机和视频

OpenCV学习-打开两个USB相机和视频

ubuntu20 ros使用usb相机

ubuntu20 ros使用usb相机

ubuntu20 ros使用usb相机