Я работаю над проектом, требующим доступа к веб-камере в режиме реального времени, и у меня возникают проблемы с получением подходящего потока видеокамеры под Windows 10 для обработки кадров с помощью OpenCV.
Я могу получить доступ к камере просто отлично под Windows 8.1. используя либо
Они позволяют захватывать поток веб-камеры с высокой частотой кадров (~ 30 кадров в секунду) и устанавливать разрешение веб-камеры, например, с помощью.
cvCapture.set (CV_CAP_PROP_FRAME_WIDTH, 640);
cvCapture.set (CV_CAP_PROP_FRAME_HEIGHT, 480);
Однако в Windows 10 оба вышеуказанных решения приводят к проблемам:
Я даже попытался открыть поток камеры с помощью:
cv :: VideoCapture cvCapture (CV_CAP_DSHOW + camnum);
cv :: VideoCapture cvCapture (CV_CAP_MSMF + camnum);
Первый работает (что касается открытия потока, но с теми же проблемами, что и выше), MSMF (Microsoft Media Foundation) приводит к тому, что cvCapture.isOpened () возвращает false;
Обработка потока FullHD в режиме реального времени неосуществима для алгоритмов обработки изображений, равно как и изменение размера результирующего кадра с помощью OpenCV.
Версия Windows 8.1 работает на Surface Pro 3 (Core i7), а версия Windows 10 на Surface Pro 4 (Core i7). Может ли это быть проблема с аппаратным / драйвером камеры? Я пытался найти обновленные драйверы для Surface 4, но безрезультатно.
У кого-нибудь были подобные проблемы? Есть ли очевидное решение, которое я пропускаю?
Я думаю, что ваша проблема с videoInput в Windows 10 связана с выбором правильного медиа-типа веб-камер. Дело в том, что OpenCV по умолчанию использует DirectShow, а videoInput на Media Foundation является необязательным.
Советую правильно проверить переменные:
float MF_MT_FRAME_RATE_RANGE_MAX;
float MF_MT_FRAME_RATE;
float MF_MT_FRAME_RATE_RANGE_MIN;
в
// Structure of info MediaType
struct MediaType
Также могу посоветовать посетить на сайте Редактор топологии Capture Manager — Это бесплатное программное обеспечение для работы с веб-камерами через Media Foundation. Это позволяет проверять доступные функции Media Foundation на Surface Pro 4 (Core i7).
С наилучшими пожеланиями,
Евгений Перегуда
Других решений пока нет …