Получаем поток ip камеры с помощью OpenCV

Продолжаю публикацию экспериментов с замечательной библиотекой OpenCV. На этот раз попробуем получить видеопоток с MJPEG IP камеры. У меня есть Foscam FI-8918W вот с ней и поработаем.

Создадим простое консольное приложение. Добавим в свойства проекта путь до библиотеки OpenCV. Я использую CeempleOpenCV, мне не очень хочется собирать ее из исходников.

Листинг основного файла приведен ниже.

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char)
{
    const std::string videoStreamAddress = "http://192.168.1.102/videostream.cgi?user=admin&pwd=qwertasdfg&x.mjpg";

    VideoCapture cap; // open the default camera
    cap.open(videoStreamAddress);

    if (!cap.isOpened()) // check if we succeeded
        return -1;
    Mat edges;
    namedWindow("IpCam stream", 1);
    for (;;)
    {
        Mat frame;
        cap >> frame; // get a new frame from camera
        imshow("IpCam stream", frame);
        if (waitKey(30) >= 0)
            break;
    }
    // the camera will be deinitialized automatically in VideoCapture destructor
    return 0;
}

Проект на GitHub

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.