3

OpenCV 2.4.1 を Ubuntu 12.04 32 ビット プラットフォームで OpenGl、Qt、および OpenNI を使用してビルドしましたが、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 に答える