Я работаю над проектом, требующим доступа в реальном времени к веб-камере, и возникают проблемы с получением подходящего потока камеры в Windows 10 для обработки кадров с помощью OpenCV.Проблемы с доступом к веб-камере под Windows 10/OpenCV
Я могу получить доступ к камере только под Windows 8.1. используя либо
- OpenCV 2.4.9 с видеоввода библиотеки Евгений Перегуда (в http://www.codeproject.com/Articles/776058/Capturing-Live-video-from-Web-camera-on-Windows-an) для доступа к камере через Windows Media Foundation, или
- OpenCV 3.0 без каких-либо дополнительных библиотек
Они позволяют захват потока веб-камеры с высокой частотой кадров (~ 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, но безрезультатно.
У кого-нибудь были подобные проблемы? Есть ли очевидное решение, которое я пропускаю?
я нашел и подключен внешний USB камеры, и оказывается, что код работает отлично с ним на поверхности Pro 4. Таким образом, проблема, безусловно, с драйверами для SP4 камера, которая не играет хорошо с OpenCV. –