gTOP で取り込んだ画像を OpenCV で処理する. 準備するもの

gTOP で取り込んだ画像を OpenCV で処理する.
準備するもの:
パソコン(Windows),gTOP 一式(iCAP), OpenCV,
VisualBasicASICExpressEdition,Microsoft Platform SDK
VisualBasicExpressEdition ダウンロードサイト
http://www.microsoft.com/japan/msdn/vstudio/express/past/2005/
Intel OpenCV サイト http://www.intel.com/technology/computing/opencv/
ダウンロードサイト
http://sourceforge.net/projects/opencvlibrary/
公式情報サイト
http://opencv.jp/
各ソフトウエアはすでにコンピュータにセットアップされていることを前提に話を進めま
す.次に以下の 5 つの手順で動かします.
① iCAP を動作させ,gTOP の動作を確認する.画像をサンプルとして保存する.
② プロジェクトを作成
③ インクルードファイルのディレクトリを設定
④ リンクライブラリのディレクトリとライブラリを設定
⑤ サンプルプログラムを動かす.
以下の説明は,C ドライブに Windows がインストールされていて,C:¥Program Files に
ソフトウエアがインストールされている場合の例を示します.
①iCAP を動作させ動作を確認する.
gTOP に付属しているソフトウエア,iCAP をマニュアルの通りに動かし,カメラからサ
ンプル画像を取り込みボードとカメラ全体が正確に動作していることを確認.(図 1)
カメラから取得した画像を bmp 形式で保存します.例では default_img.bmp で保存してい
ます.
図1
※注意:iCAP のコンフィグレーションファイル
curren.txt の#6 に SH 用の mot ファイル名が設定されています.また,#7 にの PLD のフ
ァイル名が設定されています.PLD を使わない場合は#7 はありません.これらの設定は各
ソフトウエアからの相対パスで呼び出されます.そこで,今回のようにオリジナルプログ
ラムからコントロールする場合は,C:¥からのフルパスで設定してください.
オリジナル
修正後
#6 gtop4 ・・・
#6 c:¥iCAP¥sh¥gtop4 ・・・
#7 ..¥..¥cfg¥ ・・・
#7 c:¥iCAP¥cfg¥ ・・・
図2
②プロジェクトの作成
Visual Basic では,プロジェクトを作成してからプログラムを記述します.そこで,まずプ
ロジェクトを作成します.Microsoft Visual Basic 2005 Express Edition を起動します.
プルダウンメニューの[ファイル]→[新規作成]→[プロジェクト]を開きます.(図 3)
プロジェクトの種類 ------ Windows アプリケーション
テンプレート ------------ Windows アプリケーション
プロジェクト名 ---------- (入力する)例:test3_vb
として、OK ボタンをクリックします.(図 4)
図3
図4
③モジュールファイルについて
OpenCV の画像処理関数を使うためのモジュール(OpenCVUtility.vb ファイル)とメソッド
定義ファイル(OpenCVDefine.vb ファイル)のを指定します.さらに iCAP の画像取得関数
を使うためのモジュール(Module1.vb)を指定します.ファイルの内容はテキストエディタ
などで見ることが出来ます.プロジェクトを作成しておきます.例では②で作成した
test3_vb としています.
次にプルダウンメニューの[プロジェクト]→[既存項目の追加]を開きます.(図 5)
Module1.vb を選択し,[追加]ボタンを押します.(図 6)
図5
図6
④モジュール宣言について
OpenCV の画像処理関数を使うために OpenCVUtility.vb ファイルと Form1.vb ファイルに
は,モジュール宣言を記述しなければなりません.プロジェクト名 test3_vb の場合は,下
記のように編集します.同じ内容を両ファイルに記述しなければなりませんので,注意し
て編集してください.(図 7)
Option Explicit On
Option Strict On
Imports System.Runtime.InteropServices
Imports test3_vb
Imports test3_vb.cxTypes
Imports test3_vb.cvTypes
Imports test3_vb.Cv
Imports test3_vb.CxCore
Imports test3_vb.HighGUI
図7
⑤Form1.vb を以下のように編集します.
C:¥Program Files¥OpenCV¥samples¥c¥edge.c とほとんど同じ内容で VisualBasic メソ
ッドとして呼び出すようなにプログラムとなっています.(図 8-1~図 8-3)名前が cv で始ま
るメソッドは OpenCV の関数です.これらの説明は公式サイトのマニュアルを見てくださ
い.
プログラムのビルド(コンパイルとリンク)
1)プルダウンメニューから,[ビルド]→[test3_vb のビルド]を選択します.
2)画面の下部の出力ウインドウにエラーや警告が表示されます.
3)エラーが出た場合は,修正して再び[ビルド]→[test3_vb のビルド]を選択します.
プログラムの実行
1)メニューから[デバッグ]→[デバッグなしで開始]を選択します.
2)プログラムが実行され,正常終了のメッセージがコマンドプロンプト画面で出力され
て終わります.終わった後は,カメラで取得した画像が画面に連続表示されます.
図 8-1
図 8-2
図9
最後にディレクトリ構造を示しておきます.Form1.vb ファイルのみを編集します.
test
test3_vb
default_img.bmp
初期画像ファイル など
図 10