【问题标题】:Video Streaming is slow with OpenCVOpenCV 的视频流很慢
【发布时间】:2012-02-06 04:53:39
【问题描述】:

我正在使用 C++ 和 OpenCV 做视频处理应用程序。这就是我编写代码来初始化网络摄像头的方式。

    storage = cvCreateMemStorage( 0 );
capture = cvCaptureFromCAM(1);

cvNamedWindow( "video", 1 );

while( key != 'q' ) {
    frame = cvQueryFrame( capture );
    if( !frame ) {
        fprintf( stderr, "Cannot query frame!\n" );
        break;
    }
    cvFlip( frame, frame, 1 );
    frame->origin = 0;
    key = cvWaitKey( 1 );
}

谁能建议我一个解决方案,以提高从网络摄像头捕获帧的速度。与使用 OpenCV 应用程序网络摄像头视频流的实际网络摄像头视频流相比,大约有 3 秒的延迟。

谢谢。

【问题讨论】:

    标签: performance opencv frame webcam


    【解决方案1】:

    你用的是什么版本的opencv?您正在使用使用英特尔线程构建模块 (tbb.dll) 的构建吗?如果没有,那就使用它,这就是你的加速。

    您也可以尝试使用基本代码来查看您获得的加速类型:

    存储 = cvCreateMemStorage(0); 捕获 = cvCaptureFromCAM(1);

    而 (1) { 帧 = cvQueryFrame(捕获); cvWaitKey(1); }

    除此之外,我建议使用c++接口来opencv,c接口很丑,可能会更慢。

    【讨论】:

    • 嗨,它是 opencv 2.3 实际上,当我尝试仅检测视频中的对象时,速度问题就出现了。就像我试图检测用户的脸一样, CvSeq *faces = cvHaarDetectObjects(img, cascade, storage, 1.1, 3, 0, cvSize(40, 40));这行代码使视频速度降低。我能知道它有什么问题吗?谢谢
    • 再次嗨,能够通过将比例因子增加到 1.5 来加速视频流 :) 再次寻求您的帮助
    猜你喜欢
    • 2018-08-08
    • 2020-02-06
    • 1970-01-01
    • 2016-07-29
    • 2012-11-20
    • 2018-07-27
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多