この質問は何度も繰り返す必要がありますが、うまくいかず、まだ回答がない場合もあります。情報源は主に
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml
http://www.youtube.com/watch?v=dgcXYQijV6cです。
これは、私がすべき/できると思うことの要約です。(そして今ではうまくいきます。) 最初からすべてを述べたことを願っています。その目的は、非常に明確なチュートリアルを書くことです。
QtCreator用OpenCVのインストール
- MS Visual Studio 2010 Professional を既にインストールしています。(私は学生として無料のライセンスを持っています) - これは不要だと思います。
- ダウンロード: Windows 32 ビット用 Qt 5.0.1 (MinGW 4.7、823 MB)
2.1インストール:警告、Qt が使用するもの (OpenCV など) はすべて、名前に空白を含まないディレクトリにある必要があります。-つまり、「Program Files」は間違っています。(ただし、さまざまなプログラム ファイルが C に直接蓄積されるのは望ましくないため、重要なものがすべてインストールされる "Programs" フォルダーのみを作成しました) - ダウンロード: cmake-2.8.10.2-win32-x86.exe - すべてのユーザーにインストールします (これは Program Files にある可能性があります)
- ダウンロード: OpenCV-2.4.0.exe、解凍先: C:\Programs\opencv24 - ディレクトリ "opencv" が作成されます。別のフォルダー「opencv_bin」を追加します。C:\Programs\ opencv24
\opencv*
C:\Programs\opencv24\opencv_bin - MinGWコンパイラへのリンクがあるように、PATH環境変数を設定します。例C:\Programs\Qt\Qt5.0.1\Tools\MinGW\bin;
- 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 は空にすることができます。[完了] をクリックしてください
- WITH_QT - 選択する必要があります。
- WITH_TBB、WITH_IPP、WITH_CUDA - 選択解除する必要があります
- CMAKE_BUILD_TYPE - クリックしてテキスト「Debug」を入力します (引用符なし)。 検索フィールドからテキストをクリアします。
- ターミナル (~command prompt)に移動し、ビルド(opencv_bin)があるディレクトリに cd して、mingw32-makeと入力します。
- しばらくしてプロセスが終了したら、mingw32-make installと入力します。
- 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;
}