OpenCV Ver.2.4.9 をインストールする | りさーちゃーのたまご

りさーちゃーのたまご

研究者になり損ねた社会人のつれづれ日記です。へっぽこソフトしかかけないけど、社会人研究職を目指します。
適当なソフト、語学(英語、中国語)、マラソン、旅行、ときどき小言。

前線を退いて早3年である。一念発起で3年ぶりにOpenCVをインストールしてみる。
とりあえず動くものを、を主眼にしているので、保証はできません。

ツールのダウンロードと基本的な手順は下記のサイトを参照。
金子邦彦研究室 Windows に OpenCV バージョン 2.4.5 をインストール
http://www.kkaneko.com/rinkou/opencv/opencvinstallwindows.html
ありがとうございました。

ただし、今回は本エントリ掲載当時最新のCpenCV2.4.9をインストールしてみました。
なので、以下に記すは上記サイトとの差分のみとします。

【OpenCVをダウンロード・ファイルの解凍】
 解凍フォルダ選択先を C:\opencv249 としました。

【CMakeで展開】
 設定パスが一部項目が異なります。
 ・Source code: C:\opencv249/opencv/sources
 ・binaries: C:\opencv249/opencv/build

CVinst01

 私の環境はVisual Studio Express 2012 なので、Visual Studio 11 を選択。

CVinst02

 あとは Confgure → BUILD_EXAMPLES にチェックを入れる → Generate でOK。

【OpenCVのプロジェクトをビルド】

 C:\opencv249\opencv\build\OpenCV.sln を開きます。
 Debug、Releaseの両方でビルドを行います。
 ※各構成ごとに20分近くかかるので、他の作業をしているときに放っておくことをお勧めします。


【環境変数Pathの設定】

 以下の二つのパスを環境変数Pathに追加します。パスの区切りは半角セミコロン( ; )で。
 ・デバッグ用:C:\opencv249\opencv\build\bin\Debug
 ・リリース用:C:\opencv249\opencv\build\bin\Release

【一休み】
 さて、ようやくOS側の準備ができました。次はツール側の設定です。ここ以降があまり私にはなじみがないファイルが登場するので、試行錯誤して着地しました。これが正しいのかはわかりませんが、簡単なプログラムでビルド実行はできました。

【Visual Studioの設定】
○インクルードディレクトリの設定
 Visual Studio 2012から「ツール→オプション」からの追加ディレクトリ設定は推奨されなくなりました回避方法があるようですが、とりあえず今回はプロジェクトごとに設定をします。

CVinst03

 「プロジェクト→プロパティ」を開きます。
 「構成プロパティー → C/C++ → 全般 → 追加のインクルードディレクトリ」に下記のフォルダを追加します。
 ・C:\opencv249\opencv\build\include
 ・C:\opencv249\opencv\build\include\opencv

CVinst04

 これが正しいのかはわかりませんが、この2つは最低限ないとのちのちコンパイルが通りません。

○リンカーの設定
 追加のライブラリディレクトリを追加します。
 「プロジェクト→プロパティ」を開きます。
 「構成プロパティー → リンカー → 全般 → 追加のライブラリディレクトリ」に下記のフォルダを追加します。
 ・デバッグ:C:\opencv249\opencv\build\lib\Debug
 ・リリース:C:\opencv249\opencv\build\lib\Release

CVinst06

 スタティックリンクライブラリを追加します。
 同じく「リンカー→入力→追加の依存ファイル」に以下の項目を追加します。
 ・デバッグ
  opencv_highgui249d.lib; opencv_core249d.lib; opencv_ml249d.lib; opencv_imgproc249d.lib
 ・リリース
  opencv_highgui249.lib; opencv_core249.lib; opencv_ml249.lib; opencv_imgproc249.lib

CVinst05

 な、なんだこの耳慣れないライブラリ名は。かの有名なhighgui.lib がずいぶん長い名前になっております。今回はとりあえずちゃっちゃか動かしたいだけなので、今後このlibに含まれないもので使いたい関数があったら、つど必要なライブラリを調べてリンクすればよし、ということで次に進みます。

ようやくセットアップの完了です。
当該リンクのプログラムを実行して、画像読み込みから出力までできました。
Windowsのサンプルピクチャの絵です。著作権的には私的利用ということでOKと思います。

CVinst07

2014/6/9 追記:追加の依存ライブラリにopencv_imgproc249.libを追加。これが無いと画像処理系の関数を使うときに未解決となる。