1

このSOリンクの手順に従って、WindowsでOpenCV2.4.0を使用してサンプルプログラムをコンパイルしました。Mingwを使用してDEVC++とNetBeansの両方でセットアップを行いました。サンプルプログラムは正しくコンパイルされていますが、exeを実行するとアプリケーションがクラッシュします。

しかし、同じマシンでopencv2.1.0を使用すると、同じサンプルプログラムがコンパイルされ、実行中にクラッシュすることはありません。

以下は、私が実行しようとしたサンプルコードです。

#include "highgui.h"
using namespace std;
int main( int argc, char** argv ) {
IplImage* img = cvLoadImage( "C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\Sample Pictures\\Water lilies.jpg" );
cvNamedWindow( "Sample", CV_WINDOW_AUTOSIZE );
cvShowImage( "Sample", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Sample" );
} 

アップデート :

moskito-xリンクの手順に従ってopencvをビルドしましたが、「configure」を押すと、次のエラーが発生します。そして私のmakeファイルも35kbのサイズです。これを解決するための提案はありますか? ここに画像の説明を入力してください

4

3 に答える 3

2

「...\opencv\build\x86\mingw\bin」および「...\opencv\build\x86\mingw\lib」のライブラリを使用する

OpenCV-2.4.x.exe に付属のライブラリは使用できません。

フォーラムの一部の開発者として、私は見つけました。一部のシステムでは、「opencv 2.4.x」のコンパイル済みライブラリが使用できません。
独自のプログラムをコンパイルするには動作しますが、実行しようとするとクラッシュします。「opencv 2.4.x」のプリコンパイル済みライブラリが機能しなくなるまでは、自分で opencv をコンパイルする必要があります。

フォルダ「...\opencv\build\x86\mingw\bin」および「...\opencv\build\x86\mingw\lib」は完全に無視してください。

于 2012-10-24T15:07:05.213 に答える
1

すでに指摘したように、プリコンパイルされたバイナリに依存することはできません。また、多くの問題があり、最終的には自分のバイナリをコンパイルすることになりました。私のセットアップは、Windows7、Eclipse CDT (Juno)、および MinGW 用でした。ここで Stackoverflow に関する私の投稿を確認できます

于 2013-07-01T11:31:33.433 に答える
0

これはメモリ管理に関連するエラーだと思います。たぶん、画像の前にウィンドウを解放しているからでしょう。しかしとにかく、OpenCV C++ インターフェイスを使用する必要があります。これは多くのことを自動的に行うからです。C++ インターフェイスを使用すると、コードは次のようになります。

    #include <opencv.hpp>

    int main( int argc, char** argv ) {

            cv::Mat img = cv::imread("C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\Sample Pictures\\Water lilies.jpg");

            cv::imshow("Sample", img);
            cv::waitKey(0);

            return 0
    }
于 2012-10-23T09:35:54.267 に答える