Я пытаюсь создать приложение OpenCV на моем MacBook со встроенной камерой iSight.Я взял очень простой код из интернета и запустил его без проблем.OpenCV автоматически обнаружил встроенную веб-камеру и запустился правильно, но я не могу заставить ее работать с моей веб-камерой USB.
#include <stdio.h>
#include <opencv.hpp>
int main( int argc, char **argv )
{
CvCapture *capture = 0;
IplImage *frame = 0;
int key = 0;
/* initialize camera */
capture = cvCaptureFromCAM(0);
/* always check */
if ( !capture ) {
fprintf( stderr, "Cannot open initialize webcam!\n" );
return 1;
}
/* create a window for the video */
cvNamedWindow( "Test", CV_WINDOW_AUTOSIZE );
while( key != 'q' ) {
/* get a frame */
frame = cvQueryFrame( capture );
/* always check */
if( !frame ) break;
/* display current frame */
cvShowImage( "Test", frame );
/* exit if user press 'q' */
key = cvWaitKey( 1 );
}
/* free memory */
cvDestroyWindow( "Test" );
cvReleaseCapture( &capture );
return 0;
}
Я скомпилировал это с:
g++ webcam.c -o webcam -I/opt/local/include/opencv2 -I/opt/local/include -L/opt/local/lib -lopencv_core -lopencv_highgui
Согласнодокументации, изменив строку capture = cvCaptureFromCAM(0);
на capture = cvCaptureFromCAM(1);
, я смогу получить доступ к другой веб-камере, которую я подключил, но при запуске программы выдается сообщение об ошибке: Warning: Max Camera Num is 0; Using camera 0
Какие шаги могутМне нужно, чтобы OpenCV узнал, что к USB-накопителю подключена другая камера?