2015-12-16 5 views
1

Я работаю над проектом, требующим доступа в реальном времени к веб-камере, и возникают проблемы с получением подходящего потока камеры в Windows 10 для обработки кадров с помощью OpenCV.Проблемы с доступом к веб-камере под 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, тем не менее, оба решения выше результата в задачах:

  • раствор, используя OpenCV 2.4.9, а библиотека видеоввода позволяют установки разрешения до 640x480, но частота кадров составляет около 1fps (или хуже ?!), и картина очень темно
  • решение с использованием OpenCV 3.0 дает мне хорошее 1920х1080 изображение на хорошей частоте кадров, но я не могу установить разрешение для потока

Я даже попытался открыть поток камеры с помощью:

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, но безрезультатно.

У кого-нибудь были подобные проблемы? Есть ли очевидное решение, которое я пропускаю?

+0

я нашел и подключен внешний USB камеры, и оказывается, что код работает отлично с ним на поверхности Pro 4. Таким образом, проблема, безусловно, с драйверами для SP4 камера, которая не играет хорошо с OpenCV. –

ответ

1

Я думаю, что ваша проблема с видеовходом в 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 Topology Editor - это бесплатное программное обеспечение для работы с веб-камерами через Фонд СМИ. Это позволяет проверить доступные возможности Media Foundation на Surface Pro 4 (Core i7).

С наилучшими пожеланиями, Евгений Перегуда

Смежные вопросы