2012年8月28日火曜日

OpenCV用にGUI付き(フォーム形式)のプロジェクトを作成する

通常Windowsでは、コマンドライン形式でプロジェクトを作成する。

一方、WindowsのForm形式では、ラジオボタンやファイル選択のダイアログを使用できるというメリットがあるが手順が少し複雑となるので、以下に手順をまとめてみた

1プロジェクトの作成
 ファイル-新規作成-プロジェクト
 CLR-Windows formアプリを選択して、プロジェクト名を入力しOKボタンを押す

2プロジェクトの設定
 プロジェクト名を選択し、右クリックでプロパティを指示

 左上の構成メニューで、すべての構成を選択

 構成プロパティの共通言語ランタイムサポートを /clrに
 C/C++の追加インクルードフォルダーにOpenCVのincludeファイルのpathを追加

3フォームの設定
 フォームをダブルクリックすると、FormLoad eventが作成されコードが表示される

 フォームデザインを選択しプロパティで、
  FormBorderStyleをFixedStyleに
  MaxsizeBoxを Falseに
  好みでTextをアプリ名に修正

4自分のクラスを追加する場合
 プロジェクト名を選択し、右クリックで、追加-クラスを指示
 クラスを選択し、追加ボタンを押す
 クラス名(例 myOpenCV)を入力し、マネージのチェックをはずし、完了ボタンを押す

 myOpenCV.hファイルが開くので、先頭に
#include <opencv2/opencv.hpp>を追加

 次にmyOpenCV.cppファイルを開き先頭にライブラリ追加

#ifdef _DEBUG
//Debugモードの場合
#pragma comment(lib,"opencv_core231d.lib")
#pragma comment(lib,"opencv_imgproc231d.lib")
#pragma comment(lib,"opencv_highgui231d.lib")
#pragma comment(lib,"opencv_video231d.lib")
#else
//Releaseモードの場合
#pragma comment(lib,"opencv_core231.lib")
#pragma comment(lib,"opencv_imgproc231.lib")
#pragma comment(lib,"opencv_highgui231.lib")
#pragma comment(lib,"opencv_video231.lib")
#endif

5フォームに自分のクラスを追加
 Form1.hに自分のクラスのmyOpenCV.hを#includeで追加

 Form1.hの必要なデザイナー変数の前に、自分のクラスのオブジェクトを追加

 protected:
myOpenCV* openCV;

6 自分のクラスを実体化
 FormLoadイベント内に
openCV = new OpenCV();
 を追加
 デストラクタは不要のようである

7 以下自分のクラスにOpenCVでしたいことを追加

以上

0 件のコメント:

コメントを投稿