【问题标题】:C++ code Capturing image from IP / Ethernet Cameras (AXIS Cam)C++ 代码从 IP / 以太网摄像机 (AXIS Cam) 捕获图像
【发布时间】:2013-03-17 23:17:33
【问题描述】:

我有 4 轴 IP 摄像头。我需要一个代码来从这些摄像头中捕获图像。我有从 USB 摄像头捕获图像的 opencv 代码,但我不知道如何从 IP 摄像头捕获图像。

【问题讨论】:

    标签: c++ opencv ip-camera


    【解决方案1】:
    int main()
    {
        Mat frame;
        namedWindow("video", 1);
        VideoCapture cap("http://150.214.93.55/mjpg/video.mjpg");
        while ( cap.isOpened() )
        {
            cap >> frame;
            if(frame.empty()) break;
    
            imshow("video", frame);
            if(waitKey(30) >= 0) break;
        }   
        return 0;
    }
    

    不知道,你的网址是什么样的,但opencv似乎坚持,它必须以mjpg结尾。 所以如果没有,诀窍是附加一个虚拟参数:

    http://my/cool/ip-cam.ie?dummy=video.mjpg
    

    如果您需要同时打开所有 4 个摄像头,则每个摄像头都需要一个 VideoCapture:

    VideoCapture cap1("url1");
    VideoCapture cap2("url2");
    VideoCapture cap3("url3");
    VideoCapture cap4("url4");
    

    【讨论】:

    • hello.cpp:3:5: 错误:'Mat' 未在此范围内声明 hello.cpp:3:9: 错误:预期 ';' 在 'frame' hello.cpp:4 之前:27: 错误: 'namedWindow' 未在此范围内声明 hello.cpp:5:5: 错误: 'VideoCapture' 未在此范围内声明 hello.cpp:5:18: 错误: 预期 ';' 在 'cap ' hello.cpp:6:13: 错误: 'cap' 未在此范围内声明 hello.cpp:8:16: 错误: 'frame' 未在此范围内声明 hello.cpp:11:30: 错误:' imshow' 未在此范围内声明 hello.cpp:12:22: 错误:'waitKey' 未在此范围内声明
    猜你喜欢
    • 2012-06-16
    • 2013-01-18
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2013-02-09
    • 2018-08-01
    相关资源
    最近更新 更多