Я запускаю этот пример кода, который просто показывает изображение моей веб-камеры на экране
CvCapture* capture = 0;
Mat frame, frameCopy, image;
capture = cvCaptureFromCAM( CV_CAP_ANY );
if( !capture )
{
cout << "No camera detected" << endl;
}
cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
if( capture )
{
for(;;)
{
IplImage* iplImg = cvQueryFrame( capture );
frame = iplImg;
if( frame.empty() )
break;
if( iplImg->origin == IPL_ORIGIN_TL )
frame.copyTo( frameCopy );
else
flip( frame, frameCopy, 0 );
cvShowImage( "result", iplImg );
if( waitKey( 10 ) >= 0 )
break;
}
cvReleaseCapture(&capture);
waitKey(0);
}
}
Когда я запускаю ее в Windows, камера выключается после выполнения функции cvReleaseCapture, как и ожидалось, вместо этого при использовании того же кода в Ubuntu камера остается включенной во время выполнения программы (светодиодный индикатор включен, и другие программы не могут использовать устройство) ,
Сообщения об ошибках не отображаются, в чем здесь может быть проблема?
Я использую OpenCV 2.4.7 и моя веб-камера — Logitech c170
Задача ещё не решена.
Других решений пока нет …