画像処理ソリューション
これを見れば画像処理の入門から基礎~応用まで全てがわかるのを目指して!
   
翻訳(Translate)

プロフィール

ニックネーム:Akira
東京都の町田事業所に勤務
画像処理ソフトの開発を行っています。リンクフリーです!
詳細プロフィールは こちら
お問い合わせは、こちら↓

【補助HP】
画像処理ソリューションWeb版 【Newブログ】
イメージングソリューション

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

06 | 2017/03 | 07
S M T W T F S
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

趣味のブログ

iPhone萬歳!
iPhoneの情報いろいろ。
ブログ学習帳
ブログ、SEO、アフィリエイト情報など(まだまだこれから)
俺流クラフト日記
ハンドメイド作品の記録(現在、放置中)

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

OpenCV2.0ReleaseをCMakeを使ってビルドする

メインページOpenCV

OpenCVの2.0Release版は本日公開されましたが、このインストールパッケージにはライブラリファイル(*.lib)がパッケージされていないので、OpenCVをhttp://sourceforge.net/projects/opencvlibraryよりダウンロードしてセットアップしただけではOpenCVを使ったプログラミングはできないので、OpenCVをコンパイルしなければなりません。
Readmeファイルを見ると、CMakeを使ってビルドしろ!ということなので、訳も分からずとりあえずやってみました。
※かなり自信が無いので、間違いがあればコメントにてご指摘お願いします。


OpenCV2.0のインストールから環境設定までを別途
 OpenCV 2.0 入手、ダウンロード、インストール、環境設定
のページにもまとめました。

CMakeの入手

CMakeは下記リンク先より
http://www.cmake.org/cmake/resources/software.html
Windows版のcmake-2.6.4-win32-x86.exeのファイルをダウンロードします。

ファイルをダウンロード後、普通にセットアップして行くと、途中で

CMakeを使ってビルドする

のような画面が表示されますが、とりあえず
 Add CMake to to the system PATH for all users

 Add CMake to to the system PATH for current user
にチェックを入れて、セットアップを進めます。

これで、CMakeのセットアップは完了です。

OpenCV2.0Releaseのビルド

どこでも良いと思いますが、OpenCVをビルドするためのフォルダを作成しておきます。(作らなくてもいいかもしれませんが。)
  例えば、 C:\OpenCV2.0\build  を作る。

スタートメニューより、CMake 2.6⇒CMake (cmake-gui)を実行します。

OpenCV2.0ReleaseをCMakeでビルドする

開いたウィンドウにOpenCVのソースコードのあるフォルダとビルド先のフォルダを指定します。
上記の例では
 Where is the source code: C:\OpenCV2.0
 Where to build the binaries: C:\OpenCV2.0\build
を指定します。

次にConfigureボタンをクリックします。
すると、このような↓ウィンドウが表示されるので、自分の開発環境を選択しFinishボタンをクリックします。
(私の場合はVisual Studio 8 2005)

OpenCV2.0ReleaseをCMakeでビルドする

しばらくすると、赤くされたリストが表示されます。
そして次がおそらくOpenCV2.0の最大のポイント!?
OpenMPやIPPに対応している開発環境の場合は、それらに対応し、OpenCVが最適化されるみたいです。

OpenCV2.0ReleaseをCMakeでビルドする

残念ながら、私の開発環境にはOpenMPやIPPは入っていないので、デフォルト状態からはENABLE_OPENMPのチェックを外しました。
もちろん、対応している場合はチェックを入れておいた方が良いと思います。(たぶん...)

ここで、もう一度 Configureボタンをクリックします。

すると、赤い表示が白くなります。
OpenCV2.0ReleaseをCMakeでビルドする

次にGenerateボタンをクリックすると指定したビルド先のフォルダにOpenCVのビルド用のソリューションファイル(OpenCV.sln)が作成されます。

次に作成されたファイル(OpenCV.sln)をクリックし、Visual Studioを開き、ソリューションのビルドを行います。このとき、ReleaseとDebugの両方を作成して下さい。
(ビルドでエラーが出る場合は、CMakeでチェックの設定が開発環境と合っていないかも?しれません)
(warningは出まくります。)

すると、上記の例では

【Releaseのとき】
C:\OpenCV2.0\build\lib\releaseフォルダにlibファイルが作成され、作成されるファイルは
    cv200.lib
    cvaux200.lib
    cvhaartraining.lib
    cxcore200.lib
    cxts200.lib
    highgui200.lib
    ml200.lib
    opencv_ffmpeg200.lib

C:\OpenCV2.0\build\bin\releaseにdllファイルが作成され、作成されるファイルは
    cv200.dll
    cvaux200.dll
    cxcore200.dll
    cxts200.dll
    highgui200.dll
    ml200.dll
    opencv_ffmpeg200.dll

【Debugのとき】
C:\OpenCV2.0\build\lib\debugフォルダにlibファイルが作成され、作成されるファイルは
    cv200d.lib
    cvaux200d.lib
    cvhaartraining.lib
    cxcore200d.lib
    cxts200d.lib
    highgui200d.lib
    ml200d.lib
    opencv_ffmpeg200d.lib

C:\OpenCV2.0\build\bin\debugにdllファイルが作成され、作成されるファイルは
    cv200d.dll
    cvaux200d.dll
    cxcore200d.dll
    cxts200.dll
    highgui200d.dll
    ml200d.dll
    opencv_ffmpeg200d.dll

のそれぞれが作成されます。
Debugの場合、最後にdが付きますが、cvhaartraining.libだけはdがつかないようです。

次にdllファイルを参照できるように環境変数のPATHに
  C:\OpenCV2.0\build\bin\release

  C:\OpenCV2.0\build\bin\debug
を追加しておきます。
(OpenCVのインストール時の環境変数の設定オプションは関係なくなりますけど...)

それで、OpenCVの1.0や2.0betaの時の例にならって、Visual Studioの設定を行います。
(参考)
【OpenCV】OpenCVの入手ダウンロード、インストール、環境設定
OpenCV2.0beta格闘中!メモ

ここで作成したOpenCVを使ったプログラムではlibファイルの設定はReleaseのときはReleaseで作成したOpenCVを、DebugのときはDebugで作成したOpenCVを参照するように設定して下さい。

ちょっとOpenCVの敷居が高くなっちゃったな~。

(10/1追記)
Ver2.0.0の公開1日目にしてVer2.0.0aが公開されました。
そのReadmeファイル(OpenCV-2.0.0a-win32.Readme.Please.txt)を見ると、CMakeでビルドする方法が追加されていました。詳細はReadmeファイルをご参照下さい。
それを見る限りだと、上記方法でほぼ大丈夫なのですが、OpenCVをビルドするときにreleaseとdebugの両方をビルドしろって書いてありました。
私はReleaseしかビルドしませんでしたが、なんとなく大丈夫そうな...
エラーが出るまで、放置。
(10/3修正)
OpenCVをビルドするときに、ReleaseとDebugの両方をビルドするように記事を変更しました。
GOMAZOさん、情報ありがとうございました。
Loading...
スポンサーリンク

この記事に対するコメント
こちらこそ
こちらこそ、いつも参考にさせていただいて、お世話になっていますので、多少なりともお役に立てて良かったです。
【2009/10/03 21:09】 URL | GOMAZO #- [ 編集]

Re: C++ Interface
そっか~~~!!!。
だからcv::imread()とかの関数が、私が確認している時に動かなかったのか~。
確認している時は、ReleaseでビルドしたOpenCVをDebugビルドしたサンプルプログラムでデバッグ実行をすと、cv::imread()の戻り値に何も入ってきませんでした。
このをプログラムをReleaseで実行すると、cv::imread()の戻り値には値が入っていたので、まさにそういうことですね。
大変助かりました。どうもありがとうございます。
(ここの記事もあとで修正しておきます。)
【2009/10/03 12:37】 URL | Akira #- [ 編集]

C++ Interface
私は、2.0から新しく実装されたC++ Interfaceを使ったサンプルプログラムを作ってテストしたので、そのためにうまく動作しなかったのかもしれません。
Windows XPでも、WIndows 7 RCでも同様の問題が発生したので、環境の問題ではないように思われます。
【2009/10/03 11:14】 URL | GOMAZO #- [ 編集]

Re: Visual C++ 2008 Express Edition
そうですか。
私も気になったので、OpenCV2.0.0aをVisual C++ 2008 Express EdtionでReleaseでビルドしてみたところ、「24 正常終了、0 失敗、3 スキップ」となり、スキップはあるものの、エラーはありませんでした。
ただし、CMakeでソリューションファイルを作る時にはOpenMPのチェックを外しています。
ここで作成したReleaseのlibやdllを使ってhttp://imagingsolution.blog107.fc2.com/blog-entry-91.htmlで紹介しているサンプルプログラムのリンクその他もろもろを変更してVisual C++ 2008 Express EdtionでRelease/Debugモードでコンパイルして実行してみましたが、私の環境ではエラー無く実行できてました。
ただし、旧バージョンは残したままで評価しているので、何かあるかも?しれません。
でも、わざわざReadmeに両方ビルドしろと書いてあるぐらいなので、GOMAZOさんがご指摘のように、動作しない場合があるんでしょうね?!
にしても、今回のOpenCV2.0は色々と面倒くさい...
【2009/10/02 23:23】 URL | Akira #- [ 編集]

Visual C++ 2008 Express Edition
こちらでの情報を元に、OpenCV2.0のライブラリーをVisual C++ 2008 Express Editionでビルドしてみました。ビルドでライブラリーは生成されていたのですが、1失敗と表示されていたのがちょっと気にはなりましたが、とりあえずそのまま生成されたライブラリーを使用しました。
ただ、READMEに書かれている通り、Debugモードでは、Debugモードでコンパイルしたライブラリーを、Releaseモードでは、Releaseモードでコンパイルしたライブラリーをそれぞれリンクするように指定しないと、うまく動作しませんでした。
正確には、Releaseモードで、Debugモードのライブラリーをリンクは試していません。
なので、両方ビルドしておく必要があるようです。
【2009/10/02 11:02】 URL | GOMAZO #- [ 編集]

情報ありがとうございます。
GOMAZOさん、はじめまして。
情報頂き、ありがとうございました。

私はWindows+Visual Studioオンリーなので、良く分からなかったりもするのですが、私のブログを見て頂いている方にも参考になるので、コメント頂けると大変助かります。

にしても、たった1日で2.0.0から2.0.0aが公開されてましたね?!
まだまだ、OpenCVは修正版が出そうな気がしますが、また何かありましたらよろしくお願い致します。
【2009/10/01 20:38】 URL | Akira #- [ 編集]

OpenCV 2.0
はじめまして。GOMAZOと申します。いつも参考にさせていただき、たいへん感謝しております。

OpenCV 2.0ですが、リリースされている状態でも、MINGWの4.3.3以降を使えばWindows上でもビルドと実行はできるようです。
また、ライブラリーを変換して、cygwinでも試してみましたが、gcc, g++とも4.3.2で問題なくビルドと実行ができました。

ご参考まで。
【2009/10/01 16:24】 URL | GOMAZO #- [ 編集]


この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://imagingsolution.blog107.fc2.com/tb.php/177-39705246
この記事にトラックバックする(FC2ブログユーザー)

現在の閲覧者数: / 合計