Перейти к содержимому
Compvision.ru
Volodka

Работа с несколькими веб камерами

Recommended Posts

Доброго времени суток. Проблема такая, есть программа, в ней с помощью библиотеки inputVideo снимаю изображение. И при помощи OpenCV вывожу его на форму. Только видео снимается максимум с FPS 15-16 иногда показатель подпрыгивает до 30, но это скорей локальные всплески.

Изображение снимаю со следующими настройками камеры

// частота кадров

VI.setIdealFramerate(device, 60);

// указываем разрешение

VI.setupDevice(device, 320, 240, VI_USB); или VI.setupDevice(device, 640, 480, VI_USB);

VI.setFormat(device, VI_NTSC_M);

что делать?

Камера идентифицируется как USB 2.0 Camera и является встроенной в ноутбук

Частота кадров для многих камер зависит от освещенности.

Если это так, то при солнечном свете частота должна заметно возрастать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну меня скорей не интересует вопрос возрастания... обычно камеры выдают картинку около 60fps... то есть вопрос следующий, как узнать это из-за того, нормальную частоту кадров для моей камеры? И реально этот показатель такой, из-зп того что это встроенная камера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну меня скорей не интересует вопрос возрастания... обычно камеры выдают картинку около 60fps... то есть вопрос следующий, как узнать это из-за того, нормальную частоту кадров для моей камеры? И реально этот показатель такой, из-зп того что это встроенная камера?

Я не понял вопроса :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну... то есть как узнать оптимальное и максимальное fps моей камеры, если у мена в драйверах написано USB 2.0 Camera.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну... то есть как узнать оптимальное и максимальное fps моей камеры, если у мена в драйверах написано USB 2.0 Camera.

Обычная частота кадров для вэбки 20-30 кадров в секунду, так что Вы далеко не отклонились.

Есть камеры с 60 fps, но это не часто (PlayStation Eye).

Документация на встроенную камеру с её параметрами должна входить в документацию на ноутбук.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Таким макаром находится только одна камера. Во втором окне зеленый фон.

OpenCV 2.2, mingw

Одна камера USB, вторая "вшита" в ноут.

printf("Initialisation ...\n\n");


        printf("Detecting camera: \n");


        // получаем любую подключённую камеру

        int i = 210;

        CvCapture* cap2;

        CvCapture* cap1;


        printf("- Searching first cam : \n");


        for (i; i < LASTCAM; i++)

        {

            cap1 = cvCreateCameraCapture(i);

            if (!cap1)

            {

                printf("-- Camera %d is empty \n", i);

            }

            else

            {

                printf("-- Camera %d is OK \n", i);

                i++;

                break;

            }

        }

        printf("- Searching second cam : \n");

        for (; i < LASTCAM; i++)

        {

            cap2 = cvCreateCameraCapture(i);

            if (!cap2)

            {

                printf("-- Camera %d is empty \n", i);

            }

            else

            {

                printf("-- Camera %d is OK \n", i);

                break;

            }

        }

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем имеется 4 камеры, как будет правильно: выводить клееное изображение с 4-х камер, или же выводить каждое изображение на отдельный контрол (например panel)?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как удобнее, по производительности должно быть примерно одинаково.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не могу сделать захват со второй камеры. Opencv 2.2 mingw сборка под win QtSDK 4.7.4

cvCreateCameraCapture индексам <=0, 10...99, 200...299 всегда соответствует захват 1 камеры (той которая была воткнута раньше), остальные возвращает нулевыми

Обе камеры определяются как видеоустройства 1 и 2. Штатными средствами ОС можно одновременно с них получить картинку.

последовательный вызов cvCaptureFromCAM(-1)

camera1 = cvCaptureFromCAM(-1);

camera2 = cvCaptureFromCAM(-1);

вообще говоря, возвращает разные ненулевые указатели, но картинка идет только с 1 полученного, со второго зеленая или черная пустота.

В faq ocv видел ссылки на модуль cvcam с инструментарием для выбора камеры, но, похоже, из текущих версий библиотеки его убрали.

Вообще стоит задача получения синхронных снимков с нескольких камер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пока что решением является использование videoinput библиотеки

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в свое время тоже намучился с выводом изображений с нескольких камер одновременно) перепробовал все, что только можно)

оказалась проблема в ОС..вместо семерки поставил XP и о чудо..))

если ничего помогать не будет, советую сделать это)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×