使用C++进行RTSP取流报错解决方案


	使用C++进行RTSP取流报错解决方案
[编程语言教程]

使用g++ opencv_demo.cpp  -o test 会报以下错误

 技术图片

这是我的代码:

 

#include <string>
#include <iostream>
#include <time.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/videoio/videoio.hpp>
#include <opencv2/imgproc/imgproc_c.h>
//#pragma comment(lib, “”)

using namespace std;
using namespace cv;

void Video_to_Image(Mat& frame);

int main()
{
    //string filename = “Wildlife.wmv”;
    string filename = “rtsp://admin:[email protected]:554”;
    Mat frame;
    VideoCapture cap;
    cap.open(filename);
    if (!cap.isOpened()) {
        cerr << “ERROR! Unable to open camera
“;
        return -1;
    }

    //— GRAB AND WRITE LOOP
    cout << “Start grabbing” << endl
        << “Press any key to terminate” << endl;
    time_t start_time = time(NULL);
    for (;;)
    {
        // wait for a new frame from camera and store it into ‘frame‘
        cap.read(frame);
        // check if we succeeded
        if (frame.empty()) {
            cerr << “ERROR! blank frame grabbed
“;
            break;
        }
        // show live and wait for a key with timeout long enough to show images
        imshow(“Live”, frame);

        // 每隔2s保存图片
        time_t end_time = time(NULL);
        if ((end_time – start_time) >=2)
        {
            cout << “2s capture” << endl;
            Video_to_Image(frame);
            start_time = time(NULL);
        }

        if (waitKey(5) >= 0)
            break;
    }
    cap.release();

    return 0;
}

void Video_to_Image(Mat& frame)
{

    char image_name[PATH_MAX];
    sprintf(image_name, “%s%s”, “test_image”, “.jpg”);
    imwrite(image_name, frame);

}

 

解决方案:

g++ `pkg-config opencv –cflags` opencv_demo.cpp -o test `pkg-config opencv –libs`

 

使用C++进行RTSP取流报错解决方案

原文地址:https://www.cnblogs.com/wal1317-59/p/13440908.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 使用C++进行RTSP取流报错解决方案