OpenCVで遊んでみる その1


仕事上ハードウェアのことばっかりなので、たまにはソフトを触ってみたく画像処理なんぞに手を出してみたり。

目標: Webカメラから映像を取得→特定の色のエリアを特定する

やっていることは先人の後追いです。実際ソースコードもほぼコピペ。

OpenCVとその他諸々を拾ってきて環境を作る

OpenCVのビルド

まずはOpenCVをビルドします。これがないと何も始まらない。わざわざビルドするのはcontribが欲しかったからで、実は今回の目的を考えると余計なひと手間です。pythonも今回はC++で実装するつもりだったので本来なら不要。

OpenCV Ver 3.1.0
cmake GUI版 Ver 3.5.1
Qt Ver 5.6 (OpenSource 64bit版)
VTK Ver 7.0.0
python 3.5
numpy Ver 1.11.0 (pip インストール)

とりあえず必要なソースコードを拾ってきて適当なフォルダに展開。VTKはcmakeを使ってビルド用のソリューションを作成しておきます(OpenCVのcmakeでVTKConfig.cmakeを指定する必要があるみたいです)。Qtやpython関連は必要なincludeやlibのフォルダを指定します。

そしていよいよOpenCVのビルド。一部モジュールがエラーでビルドできなかったので今回は外してビルドしてます(opencv_bioinspired, opencv_contrib_world, opencv_cvv, opencv_structured_light, opencv_viz, opencv_world)。あとはCUDA関連をオフにしてCinfigure→Generate→ビルド。ビルドはVS 2015 Update2を使用しました。生成されたソリューションファイルを開き、バッチビルドで「INSTALL」のdebugとreleaseを選択してビルド。あとは数十分待てばライブラリができていると思われます。python3の関連のdebugビルドでりんカーがpython_35.libの参照エラーを吐き出します。これは参照するライブラリをpython_35_d.libに書き換えると解消する…かもしれません。この辺が環境と設定によってできたりできなかったりで大変苦労しました。

環境設定と実装

OpenCVのDLLが格納されているパス、QtのDLLが格納されているパスを環境変数Pathに追加して完了だったはず。


次回以降で実際に実装してみたことについて書きます。