2

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

4

1 回答 1

3
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");
于 2013-03-17T15:17:33.387 回答