Мне очень трудно найти решение для чего-то, что, как мне кажется, было бы очень простым. Конструктор захвата (строка) в Emgu.CV должен «Создать захват из файла или видеопотока».
Однако я не могу ничего захватить с помощью своего кода на C#, несмотря на то, что моя IP-камера (Axis) разрешает видеопоток следующим образом: Запросить видеопоток Motion JPEG -> http://myserver/axis-cgi/mjpg/video.cgi (Кстати, по словам производителя, "Успешный запрос возвращает непрерывный поток изображений JPEG . Тип содержимого — multipart/x-mixed-replace, и каждое изображение заканчивается граничной строкой .")
К вашему сведению, сервер камеры требует входа в систему с именем пользователя и паролем, которые я еще не смог понять, как включить в Capture... Должен ли я сначала сделать HTTPWebRequest, а затем выполнить Capture, или я должен сделать что-то гораздо более сложное? Не уверен, что вход в систему может быть проблемой, поскольку я не получил конкретной ошибки по этому поводу, но подозреваю, что может потребоваться веб-запрос, который я не знаю, как включить...
Урезанный код в моем form.cs:
Capture _capture = null; //Camera
string sourceURL = "http://192.168.0.90/axis-cgi/mjpg/video.cgi";
_capture = new Capture(sourceURL);
Image<Bgr, Byte> imgOriginal = new Image<Bgr, byte>(_capture.RetrieveBgrFrame().ToBitmap());
Затем я пытаюсь отобразить imgOriginal в ImageBox. Однако на последнем шаге выше он уже выдает ошибку «невозможно создать захват...» или что-то в этом роде.
Разве это не должно быть очень просто с emguCV или я ошибаюсь? Если кто-то может помочь мне понять, как захватить изображение, я могу взять его оттуда с обработкой моих изображений. Заранее спасибо!