Программа OpenCV под Mac OS X открывает iSight, но игнорирует мою веб-камеру USB - PullRequest
1 голос
/ 16 августа 2010

У меня есть следующая проблема: В моей программе openCV под Mac OS X 10.5.8, когда я пытаюсь открыть свою USB-камеру для видео, она всегда открывает встроенную камеру iSight, хотя я явно устанавливаю номер камеры в 1 (iSight должен быть равен 0). Кроме того, выбор номеров камер 2, 3 и т. Д. Также открывает камеру iSight, хотя у меня подключено только 2 камеры.

Я попробовал следующее

CvCapture * camera = cvCaptureFromCAM( 1 );

и

CvCapture * camera = cvCreateCameraCapture ( 1 );

Они оба дают одинаковый результат. Интересно то, что когда я открываю захват видео с камеры iSight из Skype или PhotoBooth, он занимает канал, и программа openCV вынуждена открывать канал веб-камеры, который работает без каких-либо проблем.

У меня вопрос: как я могу явно выбрать веб-камеру в моей программе openCV, не занимая сначала канал iSight в другой программе?

Спасибо.

P.S. Программа работает под Windows - я пробовал ее только на машине с 1 камерой (той же веб-камерой), но если я укажу что-либо отличное от 0 или CV_CAP_ANY, она вылетает, поэтому я предполагаю, что она правильно ищет камеру.

Ответы [ 2 ]

0 голосов
/ 25 октября 2010

Возьмите последнюю версию OpenCV (сейчас это версия 2.1) и попробуйте открыть ваше устройство с помощью:

if ((capture = cvCaptureFromCAM(0)) == NULL)
{
        std::cerr << "!!! ERROR: vCaptureFromCAM No camera found\n";
        exit(-1);
}
0 голосов
/ 25 октября 2010

Похоже, что проблема была просто ошибкой в ​​1.1, я полагаю, что вы используете версию, потому что вы работаете на Mac, и с этой версией построен частный фреймворк.Я исправил эту проблему, вытащив источник 2.1, собрав его и связав там с dylibs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...