3

我已经在 Ubuntu 12.04 32 位平台上使用 OpenGl、Qt 和 OpenNI 构建了 OpenCV 2.4.1,但是每当我运行 Learning OpenCV Book 中列出的示例程序时。

例如:

    #include "highgui.h"

    int main( int argc, char** argv ) {
        cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
        //CvCapture* capture = cvCaptureFromAVI( argv[1] );
        CvCapture* capture = cvCreateFileCapture( argv[1] );
        IplImage* frame;
        while(1) {
            frame = cvQueryFrame( capture );
            if( !frame ) break;
            cvShowImage( "Example2", frame );
            char c = cvWaitKey(33);
            if( c == 27 ) break;
        }
        cvReleaseCapture( &capture );
        cvDestroyWindow( "Example2" );
    }

我在控制台中收到此消息:

init done 
opengl support available 

我想知道我哪里出错了。我在编译时没有收到任何错误。

4

2 回答 2

3

这不是错误。我的机器上有类似的配置,每次运行时都会看到这些语句。这些语句与您编程的内容无关。我已经运行了您的确切代码,它显示视频没有任何问题。也许在您打开捕获后添加此错误检查以确保它找到了视频:

if (!capture) {
    std::cout << "COULD NOT OPEN CAPTURE\n";
}
于 2013-02-14T15:37:48.380 回答
0

我遇到了同样的问题,然后我在最后添加了 waitKey(0) 并显示了图像。

于 2017-06-13T19:00:45.593 回答