繁体   English   中英

在OpenCV中关闭网络摄像头

[英]Turning off webcam in OpenCV

我正在运行此示例代码,该代码仅在屏幕上显示我的摄像头图像

    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中使用相同的代码时,照相机在执行程序时保持开启状态(LED指示灯点亮并且其他程序无法使用该设备) 。

没有显示错误消息,这可能是什么问题?

我正在使用OpenCV 2.4.7,并且我的网络摄像头是Logitech c170

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM