47

この質問は何度も繰り返す必要がありますが、うまくいかず、まだ回答がない場合もあります。情報源は主に
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml
http://www.youtube.com/watch?v=dgcXYQijV6cです。

これは、私がすべき/できると思うことの要約です。(そして今ではうまくいきます。) 最初からすべてを述べたことを願っています。その目的は、非常に明確なチュートリアルを書くことです。

QtCreator用OpenCVのインストール

  1. MS Visual Studio 2010 Professional を既にインストールしています。(私は学生として無料のライセンスを持っています) - これは不要だと思います。
  2. ダウンロード: Windows 32 ビット用 Qt 5.0.1 (MinGW 4.7、823 MB)
    2.1インストール:警告、Qt が使用するもの (OpenCV など) はすべて、名前に空白を含まないディレクトリにある必要があります。-つまり、「Program Files」は間違っています。(ただし、さまざまなプログラム ファイルが C に直接蓄積されるのは望ましくないため、重要なものがすべてインストールされる "Programs" フォルダーのみを作成しました)
  3. ダウンロード: cmake-2.8.10.2-win32-x86.exe - すべてのユーザーにインストールします (これは Program Files にある可能性があります)
  4. ダウンロード: OpenCV-2.4.0.exe、解凍先: C:\Programs\opencv24 - ディレクトリ "opencv" が作成されます。別のフォルダー「opencv_bin」を追加します。C:\Programs\ opencv24
    \opencv*
    C:\Programs\opencv24\opencv_bin
  5. MinGWコンパイラへのリンクがあるように、PATH環境変数を設定します。C:\Programs\Qt\Qt5.0.1\Tools\MinGW\bin;
  6. cmake-gui.exe
    6.1ソース コードを開始します。OpenCVのデフォルト ディレクトリを設定します。C:\Programs\opencv24\opencv
    6.2バイナリ: opencv_bin ディレクトリを設定します。C:\Programs\coopencv24\opencv_bin
    6.3構成をクリックします。
    • MinGW Makefilesを選択し、ネイティブ コンパイラを指定して、[次へ] をクリックします。
    • フィールド C は gcc.exe 用です。C:/Programs/Qt/Qt5.0.1/Tools/MinGW/bin/gcc.exe
    • フィールド C++ は g++.exe 用です。C:/Programs/Qt/Qt5.0.1/Tools/MinGW/bin/g++.exe
    • フィールド fortran は空にすることができます。[完了] をクリックしてください
    6.4多くの赤い線が表示されます 検索フィールドに、WITH_QT、WITH_TBB、WITH_IPP、WITH_CUDA、CMAKE_BUILD_TYPE を 1 つずつ入力します。
    • WITH_QT - 選択する必要があります。
    • WITH_TBB、WITH_IPP、WITH_CUDA - 選択解除する必要があります
    • CMAKE_BUILD_TYPE - クリックしてテキスト「Debug」を入力します (引用符なし)。
    • 検索フィールドからテキストをクリアします。
    6.5 [構成]をクリックし、すべての赤い線が消えるまで [構成] をクリックし続け、[生成] をクリックしてcmake-gui.exe閉じます。
  7. ターミナル (~command prompt)に移動し、ビルド(opencv_bin)があるディレクトリに cd して、mingw32-makeと入力します。
  8. しばらくしてプロセスが終了したら、mingw32-make installと入力します。
  9. QtCreator/bin C:\Programs\Qt\Qt5.0.1\Tools\QtCreator\binへのパスを Path 変数に追加します。

QtCreator で新しいコンソール アプリを作成しました。

//cvHello.pro
QT       += core
QT       -= gui

TARGET = cvHello
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
INCLUDEPATH += C:/Programs/opencv24/opencv_bin2/install/include
LIBS += "C:/Programs/opencv24/opencv_bin2/bin/*.dll"

SOURCES += main.cpp
OTHER_FILES += \
    img.JPG

そしてメインファイル:

//main.cpp
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"

using namespace std;

int main()
{
    cout << "Hello World!" << endl;

    cv::Mat mat;
    mat = cv::imread("img.JPG");
    cvNamedWindow("hello");
    cv::imshow("hello",mat);

    cvWaitKey(0);

    return 0;
}
4

2 に答える 2

13

やっと幸せになり始めました。この質問を調整するとき、LIBS の定義方法など、あらゆる方法を試す必要がありました。それらを手動でリストすることは助けになりました。最初は、どういうわけか間違って書きました。

これが最終的にどのように機能するかです:

LIBS += -LC:\\Programs\\opencv24\\opencv_bin2\\bin \
    libopencv_core240d \
    libopencv_highgui240d \
    libopencv_imgproc240d \
    libopencv_features2d240d \
    libopencv_calib3d240d \

ところで、文法の間違いがあれば、私の英語で申し訳ありません。:)

于 2013-04-08T22:37:17.217 に答える