OpenCV CLI VC# VS2008 VS2012 画像処理 GUIプログラミング 画像処理の研究を行う事になったので、画像処理について勉強しています。

プロジェクト+ファイル作成

  • 新しいプロジェクトからwindowsフォームアプリケーションを選択、プロジェクト名を決定する
  • ソースファイル→新しいファイル→「Form1.cpp」を追加する。この時、Form1.hをインクルードして、プロジェクト名の名前空間を使用することを記述しておく
    • #include"Form1.h"
    • using namespace プロジェクト名;

記述場所

  • Form1.h上ではプロトタイプ宣言を行い、実処理はForm1.cppに記述することで、Form1.hの可読性を良くする
    • この方針でプロジェクトを作りました
    • Form1.cppも一杯になってきたら、更に別のcppファイルを用意して、Form1.cppで呼ぶ形にしました
    • クラスを作るとC++/CLIらしくなります
      • 親フォームと子フォームを作って、データの受け渡しをする場合も、publicなクラスを作成すると便利です

  • 例)ボタン(オブジェクト名:button_open)のクリック時の動作を記述する
1. Form1.hのデザイン画面を表示させる
2. ツールボックスからボタンを選択し、デザイナ上に配置
3. ボタンをダブルクリックして、Form1.hにイベントハンドラを作成
4. 作成されたコードの中括弧{}を排除して、行末に;を付けてプロトタイプ宣言にする
(private:System::Void button_open_Click(System::Object^ sender, System::EventArgs^ e);
5. Form.cppで具体的な記述
  System::Void Form1::button_open_Click(System::Object^ sender, System::EventArgs^ e) 
  {
    ボタンクリック時の処理です
  }

※先にForm1.hにプロトタイプ宣言を記述して、次にcppファイルを操作すれば、System::Void Form1::とタイプした段階でインテリセンスが出てきて、その中にbutton_Click(...)が入っている。



  • ボタンクリック時の処理が長くなる場合は関数化していく
    • System::Void function(IplImage *input, IplImgae *output, ... ...)みたいな関数を用意
   ↓
    • Form1.hにプロトタイプ宣言、Form1.cppに処理を記述、button_open_Click()内で呼び出す
      • 大きなプログラムの場合は、自作関数は別のファイルにまとめた方が見やすい  


Grid表示

Form1.hのデザイン画面に格子表示させて、コンテナを上手に並べる


  • Visual Studioのツール→オプション→Windowsフォームデザイナ→全般→レイアウト設定→LayoutModeをSnapToGridに変更


このページへのコメント

Great topic and well written. Do you have any more resources
about this that you reccommend?

0
Posted by Deneen 2016年03月26日(土) 15:42:12 返信

Great topic and well written. Do you have any more resources about this that you
reccommend?

0
Posted by Karine 2016年03月26日(土) 15:05:36 返信

Great topic and well written. Do you have any
more resources about this that you reccommend?

0
Posted by Thaddeus 2016年03月26日(土) 14:35:19 返信

Great topic and well written. Do you have any more resources about this that you reccommend?

0
Posted by Theron 2016年03月26日(土) 14:32:38 返信

Great topic and well written. Do you have any more resources about this that you reccommend?

0
Posted by Genevieve 2016年03月26日(土) 14:31:33 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

カウンタ

カウンタ




Menu

null

フリーエリア

管理人/副管理人のみ編集できます