0

Windows 7 64 ビットで CodeBlocks を使用しており、デフォルトの c/c++ コンパイラに MinGw を使用しています。

数日前、私は OpenCV を使用する必要があり、多くのエラーに苦労した後、次のような解決できないエラーが発生しました。

画像

img2

サンプルコード:

#include "cv.h"
#include "highgui.h"

int main( int argc, char** argv ) {
    IplImage* img = cvLoadImage( argv[1] );
    cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
    cvShowImage( "Example1", img );
    cvWaitKey(0);
    cvReleaseImage( &img );
    cvDestroyWindow( "Example1" );
}

リンクとディレクトリの設定は正しいと思います。だから私を助けてください:)私はあきらめようとしています:(

4

2 に答える 2

0

問題は、画像の読み込み時の失敗である可能性があります。ただし、次のリターンを確認した場合にのみ確実になりますcvLoadImage()

IplImage* img = cvLoadImage( argv[1] );
if (!img)
{
    printf("!!! cvLoadImage failed\n");
}

画像形式がサポートされていない場合、または画像が指定された場所に見つからない場合、この関数は失敗します。

アプリケーションはコマンドラインから渡されたファイルをロードすることを想定しているため、次のコマンドを使用してアプリケーションを実行することをお勧めします。Main.exe C:\some_img.png

コードにファイル名をハードコーディングすることもできます。

IplImage* img = cvLoadImage("C:\\some_img.png");
if (!img)
{
    printf("!!! cvLoadImage failed\n");
}
于 2012-08-14T13:16:27.247 に答える
0

コードとイメージですべてを正しく行っていると仮定すると、これは互換性のない opencv バイナリが原因で問題になる可能性があります。

同様のインストールをコンパイルして動作するかどうかを確認してください。私のインストールでも同様の問題がありましたが、バイナリを再度コンパイルすることで修正されました。

于 2012-08-14T03:59:15.167 に答える