Установка размера кадра QuickCam Pro 3000 с OpenCV?

Я использую OpenCV 2.4.6 для захвата изображений с моей старой веб-камеры Logitech QuickCam Pro 3000. С помощью VideoCapture::set( CV_CAP_PROP_FRAME_WIDTH, ... ) Я не могу установить значение ширины (то же самое для высоты). set(...) всегда возвращается false,

Это нормально?

Постскриптум Я на линуксе (Kubuntu) и, кажется, использовать V4L.

1

Решение

Кажется, ваша камера не была правильно инициализирована. Следующий код работает для меня.

using namespace cv;

[...]

VideoCapture capture(0);
capture.set(CV_CAP_PROP_FRAME_WIDTH, width);
capture.set(CV_CAP_PROP_FRAME_HEIGHT, height);

Я немного поэкспериментировал с этим и обнаружил следующие проблемы:

  1. capture.set возвращает 0, если capture не был инициализирован.
  2. capture.set возвращает 0, если камера занята (другой процесс использует ее).

Не гарантируется, что вызов VideoCapture::set изменит разрешение камеры на желаемое. Например, для моей веб-камеры Logitech HD Pro C290 можно установить разрешение 640×480 и 1920×1080. Но когда я пытаюсь 1024×768, VideoCapture::set возвращает true, но фактическое разрешение установлено на 960×720. Итак, проверьте фактическое разрешение после прочтения кадра.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]