【问题标题】:init done opengl support available初始化完成 opengl 支持可用
【发布时间】:2012-09-07 01:35:44
【问题描述】:

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

例如:

    #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 

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

【问题讨论】:

  • 运行时会发生什么?它会崩溃吗?
  • Nothing..它完全构建并在控制台中给出此消息..在我使用它来显示一个简单图像的程序中,我得到一个带有黑色图像的窗口和相同的消息在控制台中
  • 很抱歉问了一些显而易见的问题,但只是想把它排除在外:你确定你的论点没问题吗? (例如在上面的代码中,参数是有效的视频文件吗?)
  • 没关系 Bob,我用当前目录中的图像替换了参数。图像和视频的行为不同。在图像中,我在控制台中看到黑色窗口和这条消息,但在视频我收到这条消息,没有别的。
  • 我要做的第一件事是在各处添加调试语句以查看调用的内容和一般情况。例如,当您阅读图像时,除了显示它之外,还要打印这些值。他们看起来还好吗,或者他们都是黑色的?另见this question。这可能是库问题或 OpenCV 的构建方式,但最好先消除更简单的可能性。

标签: c++ eclipse opengl ubuntu opencv


【解决方案1】:

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

if (!capture) {
    std::cout << "COULD NOT OPEN CAPTURE\n";
}

【讨论】:

  • 感谢 Radford,我发现这不是问题 :)..那是我最初使用 OpenCV 的日子!
  • 你能告诉我这个问题吗,我也有同样的问题。
  • 这不是问题
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2011-12-25
    • 1970-01-01
    • 2023-04-09
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多