如何在OpenCV中释放摄像头(ubuntu-12.04)
如何在不关闭正在运行的程序的情况下在OpenCV中释放相机? 我使用了以下代码,但相机仍处于on状态如何在OpenCV中释放摄像头(ubuntu-12.04),c,opencv,C,Opencv,如何在不关闭正在运行的程序的情况下在OpenCV中释放相机? 我使用了以下代码,但相机仍处于on状态 main( int argc, char* argv[] ) { int j; CvCapture* capture = NULL; capture = cvCreateCameraCapture( 0 ); IplImage *frames = cvQueryFrame(capture); //Create a new window cvN
main( int argc, char* argv[] )
{
int j;
CvCapture* capture = NULL;
capture = cvCreateCameraCapture( 0 );
IplImage *frames = cvQueryFrame(capture);
//Create a new window
cvNamedWindow( "Recording ...press ESC to stop !", CV_WINDOW_AUTOSIZE );
while(1)
{
if (j<10)
{
frames = cvQueryFrame( capture );
cvShowImage( "Recording ...press ESC to stop !", frames );
}
j++;
if(j==10)
cvReleaseCapture ( &capture );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvDestroyWindow ( "Recording ...press ESC to stop !");
return 0;
}
main(int-argc,char*argv[])
{
int j;
CvCapture*capture=NULL;
捕获=cvCreateCameraCapture(0);
IplImage*frames=cvQueryFrame(捕获);
//创建一个新窗口
cvNamedWindow(“录制…按ESC停止!”,CV_窗口_自动调整大小);
而(1)
{
如果(j问题是您在没有初始化j
的情况下比较(j<10)
和(j==10)
。这是,这是一件非常糟糕的事情。在您的情况下,相机没有关闭
修复方法就是在使用前初始化j
,如下所示:
int j = 0;
Aurelius感谢您的回答,但它并没有解决问题。我已经初始化了变量j,相机仍然处于打开状态。我的目标是使用单个相机进行两个单独的进程。因此,我从这段代码开始。