microsoft visual c++ 2010 とopencv 2.3.1 を使用 …画像処理プログラミング...
TRANSCRIPT
1
Microsoft Visual C++ 2010 と OpenCV 2.3.1 を使用した
画像処理プログラミング
本資料では,Microsoft Visual C++ 2010 (以下, VC2010) と OpenCV 2.3.1 を用いたプログラムの作成方法について
説明する.本授業での使用方法であれば,ここで説明する内容は,最初に1回設定するだけでよく.ソリューションやプロジェ
クトを作り直さない限り,再度設定する必要はない.
なお,ここでの説明は,情報化推進センターのパソコン向けであるが,各自のノートパソコン等に VC2010の Express
Edition および OpenCV2.3.1(いずれも無料で使用可能)をインストールすれば,同様の方法でプログラムを作成・実行でき
る.また,OSは,Windows7 を想定しているが,Windows Vista やWindows 8,8.1でも,ほぼ同様の方法となる.
1. 初めてプログラムを作成する場合
1.1 Visual C++ 2010の起動
1. パソコンの電源を ON にし,Windows を起動し,ログインする.
2. スタートメニューから,
[すべてのプログラム]→[開発言語・環境]→[Microsoft Visual Studio 2010]→[Microsoft Visual Studio 2010]
と選択する.(M205室の場合は,[すべてのプログラム]→[Microsoft Visual Studio 2010]→[Microsoft Visual Studio
2010])
3. もし,「既定の環境設定の選択」ダイアログが表示された場合は,「Visual C++ 開発設定」を選択する.(選択後,以下
のスタートページが表示されるまで,時間がかかる.)
4. VC2010 が起動すると,図1のようなスタートページが表示される. (VC2010 Express Editionの場合は,メニューから,
[ツール]→[設定]と選択し,「基本設定」を「上級者用の設定」に変更しておくこと.この設定は一回行うだけでよい.)
図1
2
1.2 ソリューションとプロジェクトの作成
1. スタートページ内の[新しいプロジェクト…]をクリック.
(または[ファイル]→[新規作成]→[プロジェクト])「新
しいプロジェクト」ダイアログが表示される(図2).
2. ダイアログ左側の「インストールされたテンプレート」で,
[Visual C++]をクリックして選択.
3. ダイアログ真ん中では,[Win32 コンソールアプリケー
ション]をクリックして選択
4. ダイアログ下方にある,「名前」ボックスにて,現在の内
容を消去する.そして,半角文字で「ip」と入力.一番
下の「ソリューション名」も、「ip」となる.
それらの間にある「場所」ボックスについては,デフォ
ルトの「z:¥documents¥visual studio 2010¥Projects」と
する. (M205 室の場合は,「名前」と「ソリューション
名」は,「ip○○」(○○は,西暦の年度),「場所」は,
「C:¥edu¥」とする.)
5. [OK]をクリック.
6. 「Win32 アプリケーションウィザード」ダイアログが表示
される(図3).
7. ダイアログ左側の「アプリケーションの設定」をクリック.
画面の内容が 図4のように変わる.
8. ダイアログ内で,「アプリケーションの種類」にて,「コン
ソールアプリケーション」が選択されていることを確認.
9. 「追加のオプション」にて,「空のプロジェクト」にチェッ
クを付ける.
10. [完了]をクリック.(この後,「…ファイルに適切な場所
が見つかりました」のダイアログが表示されたら,「OK」
をクリック.)
11. VC2010 のウィンドウ左側にある「ソリューション
エクスプローラ」の表示が,図5のように変化する.
1.3 ソースファイルの追加
1. 画像処理のホームページから,ソースファイルのアー
カイブをダウンロードし,デスクトップや適当なフォルダ
内に解凍(展開)する.
図2
図3
図4
図5
3
1. (続き)解凍したプログラムを,「コンピュータ」→
「 windows(¥¥fs00¥… ) (Z:) 」 → 「 Documents 」 →
「Visual Studio 2010」→「Projects」→「ip」→「ip」のフ
ォルダ内に保存する.(M205室の場合は,「(C:)」→
「edu」→「ip○○」→「ip○○」)
また,zip 形式の画像データも解凍し,同フォルダ内
に,「images」フォルダがあり,その中に画像ファイル
が存在するようにする.
2. 「ソリューションエクスプローラ」内にある「ソースファ
イル」のアイコンを右クリックしてメニューを出し,
[追加]→[既存の項目]
と選択する(図6).
3. 「既存項目の追加」ダイアログが表示される(図7).
4. ip.cpp と main() 関数を記したプログラムファイル
(ip01-1_main.cpp 等)を追加する.(Ctrlキーを押し
ながらクリックすると,複数のファイルを選択でき
る.)ip.h は追加する必要はない.
1.4 ソリューション・プロジェクトの設定
1. ソリューションエクスプローラにて,プロジェクト名「ip」
をクリックする(図8).
2. メニューバーから,[ビルド]→[構成マネージャ]と選
択.「構成マネージャ」ダイアログが表示される(図9).
3. 「アクティブソリューション構成」欄の右側にあるリスト
ボタン[▼]をクリックし,表示されるリストの中から,
「Release」を選択する(図10).
4. 選択した欄に「Release」と表示される.ダイアログ中
央の「構成」の欄も「Release」に変わる(図11).
5. [閉じる]をクリックする.
図6
図7
図8
図9
図10 図11
4
6. メニューバーから,[プロジェクト]→[プロパティ]と選択.「プロパティページ」ダイアログが表示される(図12).
7. 左側の項目の中から,[構成プロパティ]の左側の白い三角をクリック.さらに[C/C++]の左側の白い三角をクリックし,
展開した中から一番目の[全般]をクリックする
8. 中央から右の欄の一番上にある「追加のインクルードディレクトリ」のすぐ右側の欄をクリックする(図13).文字入力用
カーソル( | )が表示される.
9. その欄に,次のように,入力する(図13). C:\OpenCV2.3\build\include
10. 続いて,左側の項目の中から,[リンカ]の左側の十字([+])をクリックする.そして,[全般]をクリックする.
11. 中央から右の欄の下から4番目にある「追加のライブラリディレクトリ」のすぐ右側の欄をクリックし,ここに,次のように,
入力する(図14). C:\OpenCV2.3\build\x86\vc10\lib
12. 左側の項目の中から,[入力]([全般]のすぐ下)をクリックする(図15).
13. 中央から右の欄の一番上にある「追加の依存ファイル」のすぐ右側の欄をクリック.太字の内容を追加する(図15).
opencv_core231.lib;opencv_highgui231.lib; kernel32.lib;…
14. [OK]をクリックして,ダイアログを閉じる.
図12 図13
図14 図15
5
1.5 プログラムのビルドとエラーの修正
1. メニューの[ビルド]をクリックし,[ソリューションのビルド]を選択する.
2. テキストエディタ下側に「出力」ウィンドウが表示され,ビルドの結果が表示される.最後に
「ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ」
と表示されていれば,プログラムは正しく入力されており,ビルドが完了.
なお,以下の警告が,ip.cpp と main( ) があるファイルについて,出た場合は,無視して構わない.
3. もし,プログラムに間違い(エラー)がある場合は,「出力」ウィンドウにエラーメッセージが表示される.エラーメッセージの
内容を確認し,プログラムを修正し,再度ビルドを行う.
1.6 プログラムの実行
1. メニューの[デバッグ]をクリックし,[デバッグなしで開始]を選択する.
2. コマンドプロンプトのウィンドウと,画像を表示するための別のウィンドウが表示される.
・ printf()関数の表示や,scanf()関数による入力は,コマンドプロンプトのウィンドウで行う.
・ cvWaitKey()によるキー入力は,画像を表示しているウィンドウ上で行う(ウィンドウをアクティブにする)必要がある
ことに注意.(画像表示ウィンドウが複数ある場合はどれでも可.)
・ 画像ファイル名を入力する際は, images¥ファイル名 と入力する.
・ USBカメラを使用する際は,プログラム実行前にカメラを接続しておく.
3. プログラムの実行が終了すると,最後に「続行するには何かキーを押してください . . .」と表示されるので,適当なキーを
押して,終了する.
1.7 Visual C の終了
[ファイル]→[終了] を選択する.もし,保存の確認のダイアログボックスが表示された場合は,[はい]をクリックする.
2. 2回目以降プログラムを作成する場合
2.1 ソリューションとプロジェクトの読み込み
1. スタートメニューから,[Microsoft Visual Studio 2010]を起動する.
2. スタートページ内の「最近使ったプロジェクト」にある「ip」をクリックする.ソリューション等が読み込まれ,前回終了した時
と同じ状態が再現される.
もし,Visual C を起動した時に,スタートページが表示されない場合は,次の2つのうち,どちらかの方法を用いて,ソリュー
ションを読み込むことができる.
方法 1. [ファイル]→[最近使ったプロジェクトとソリューション]→[ip.sln]と選択する.
方法 2.
a. [ファイル]→[開く]→[プロジェクト/ソリューション]と選択する.
b. 上部の下向き三角「▼」をクリックし,「Z:¥Documents¥Visual Studio 2010¥Projects」
(M205室では,「C:¥edu¥ip2013」) を選択する.
c. [ip]を選択して,[開く]をクリック.
d. [ip.sln]を選択して,[開く]をクリック.
1>C:¥OpenCV2.3¥build¥include¥opencv2/flann/flann.hpp(233): warning C4996: 'cv::flann::Index_<T>': が古い形式として宣言さ
れました。
1> C:¥OpenCV2.3¥build¥include¥opencv2/flann/flann.hpp(278) : コンパイルされたクラスの テンプレート のインスタンス
化 'cv::flann::Index_<T>' の参照を確認してください
1>C:¥OpenCV2.3¥build¥include¥opencv2/legacy/compat.hpp : warning C4819: ファイルは、現在のコード ページ (932) で表示で
きない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
6
2.2 新規ソースファイルの作成
1. 「ソリューションエクスプローラ」中の「ソースファイル」
の中にある,main()関数を含むCソースファイル名を
右クリックしてメニューを表示し,[プロジェクトから除
外]を選択.
(※ip.cppは,除外しないこと.)
2. 「ソリューションエクスプローラ」内にある「ソースファ
イル」のアイコンを右クリックしてメニューを出し,
[追加]→[新しい項目]
と選択する(図16).
3. 「新しい項目の追加」ダイアログが表示される
(図17).
4. ダイアログ真ん中にて「C++ ファイル (cpp)」を選択.
ダイアログ下部「ファイル名」ボックスにファイル名を
半角文字で入力.ファイル名については,以下の点
に注意すること.
・ファイル名は,全て半角文字を使用すること.
・ファイル名の最後は必ず「.cpp」で終わること.
5. [開く]をクリック.
6. 「スタートページ」が表示されていた部分が真っ白に
なり,C ソースファイルの内容を入力するためのテキ
ストエディタの状態になる.また,「ソリューションエク
スプローラ」の「ソースファイル」に,ファイル名の項
目が追加される(図18).
7. テキストエディタ内に,Cプログラムを入力する.
2.3 プログラムの印刷
1. 印刷前に必ず,印刷したいプログラムのエディタウ
インドウ内をクリックする.
2. メニュー[ファイル]→[印刷]をクリック.
3. 「印刷」ダイアログボックスが現れたら,[OK]をクリ
ック.
以上
図16
図17
図18