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

プロフィール

Akira

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

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

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

03 | 2017/04 | 05
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 - - - - - -

趣味のブログ

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購入

OpenCV 2.0 入手、ダウンロード、インストール、環境設定

メインページOpenCV

OpenCV2.0のインストール等については、以前の記事でも書いていますが、旧バージョンとはまるで違うので、念のためインストールや設定方法についてまとめておきます。

※現在OpenCV2.3.1が公開されています。
  OpenCV2.3.1についての解説は
     OpenCV2.3.1の入手、ダウンロード、インストール、環境設定
  を参照下さい。

OpenCV2.0の入手、ダウンロード

OpenCVの入手先は
  http://sourceforge.net/projects/opencvlibrary
より【View all files >】をクリックし、さらに【opencv-win】をクリック、さらに【2.0】をクリック
ここに表示されている
  OpenCV-2.0.0a-win32.Readme.Please.txt

  OpenCV-2.0.0a-win32.exe
をダウンロードする。
Readmeファイルはインストールには関係ありませんが、既知の問題などが記載されているので、内容は確認しておいて下さい。

OpenCV2.0のインストール

ダウンロードしたファイル(OpenCV-2.0.0a-win32.exe)を実行し、途中で下図のようなウィンドウが表示されるので、
  Add OpenCV to the system PATH for all users

  Add OpenCV to the system PATH for current users
を選択して次へ。

OpenCV2.0のインストール
ただし、ここで設定するPATHは同梱のサンプルプログラムを実行するためだけの設定です。
OpenCVを使ったプログラムを実行するには、別途PATHの設定が必要になります。

デフォルト設定では
 c:\OpenCV2.0
にインストールされます。

旧バージョンでは、これでOpenCVのインストールは完了なのですが、Ver2.0ではOpenCVそのものをビルドする必要があります。
OpenCVをビルドするにはCMakeを使います。
ということで、次へ

CMakeの入手、セットアップ

CMakeは下記リンク先より
http://www.cmake.org/cmake/resources/software.html
Windows版のcmake-2.6.4-win32-x86.exeのファイルをダウンロードします。
(2010.2.20現在)Ver.2.8.0になっています。Windows版のcmake-2.8.0-win32-x86.exeをダウンロードします。
(以下の説明はVer.2.6のものです。)

ファイルをダウンロード後、普通にセットアップして行くと、途中で
CMakeの入手、セットアップ
のような画面が表示されますが、とりあえず
 Add CMake to to the system PATH for all users

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

これで、CMakeのセットアップは完了です。
次にCMakeを使ってOpenCVをビルドする方法です。

OpenCV2.0のビルド方法

OpenCVのビルド先の保存用のフォルダを新しく作成しておきます。
例えば、 C:\OpenCV2.0\build  を作ります。

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

OpenCV2.0を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.0をCMakeを使ってビルドする

しばらくすると、赤くなったリストが表示されます。

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

ここでビルドするオプション設定を行います。
OpenMPやIPPが使える環境であれば、その項目にはチェックを入れておきます。
私の場合、OpenMPはインストールしていない(ほとんどの人はインストールしていない?)ので、デフォルト状態からはENABLE_OPENMPのチェックを外しました。

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

すると、赤い表示が白くなります。

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

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

次に作成されたファイル(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ファイルとlibファイルを使ってOpenCVを使ったプログラムを作成します。

OpenCVの環境設定

CMakeで作成したDLLファイルを参照できるように動作環境の設定(Pathの登録)を行います。

スタートボタンをクリック コンピュータを右クリック プロパティをクリックします。
OpenCV2.0の環境設定

開いたウィンドウの システムの詳細設定 をクリックします。

OpenCV2.0の環境設定

次に詳細設定タブの環境変数ボタンをクリックします。

OpenCV2.0の環境設定

変数値のテキストボックスの最後の部分に、OpenCVをビルドした時に作成したdllファイルのフォルダ(debugとreleaseの両方)を指定します。

;C:\OpenCV2.0\build\bin\debug;C:\OpenCV2.0\build\bin\release

※もともとあった文字は消さないようにご注意ください。
最初の ; (セミコロン)を付けるのもお忘れなく。
これで、OpenCVの環境設定は完了です。

プログラムのリンク方法

OpenCV2.0を使ったプログラムではdebugモードで実行する時はdebugでビルドしたOpenCVを、releaseモードで実行する時はreleaseでビルドしたOpenCVを参照設定する必要があります。

ライブラリファイル(*.lib)とヘッダファイル(*.h)の参照設定はVisualStudioのプロパティで設定してもいいのですが、ここではソースコード内で以下のように設定します。

#include "C:\OpenCV2.0\include\opencv\cv.h"
#include "C:\OpenCV2.0\include\opencv\highgui.h"

#ifdef _DEBUG
    //Debugモードの場合
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\debug\\cv200d.lib")
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\debug\\cxcore200d.lib")
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\debug\\cvaux200d.lib")
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\debug\\highgui200d.lib")
#else
    //Releaseモードの場合
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\release\\cv200.lib")
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\release\\cxcore200.lib")
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\release\\cvaux200.lib")
    #pragma comment(lib,"C:\\OpenCV2.0\\build\\lib\\release\\highgui200.lib")
#endif


これで全ての設定が完了です。
かなり、面倒になりました...

ちなみに、サンプルプログラム、関数のリファレンスマニュアル(英語)はスタートメニューOpenCV2.0.0より参照出来ます。
Loading...
スポンサーリンク

この記事に対するコメント
Re: cv200d.dllが見つからないエラー
tarukosuさん。コメント頂きありがとうございます。
環境変数のPathの設定で、大文字と小文字の区別があるという事ですね?
気になったので、私もPathの文字を大文字と小文字で設定してみましたが、私の環境(Win7、Visual Studio 2010)ではどちらでも大丈夫でした。
環境によっては、区別が必要な場合があるようですね。

【2012/01/03 19:06】 URL | Akira #- [ 編集]

cv200d.dllが見つからないエラー
こんにちは、いつも参考にさせていただいております。
VisualC++ 2008で記事のとおりにOpencv2.0を導入したところ、
Opencvを用いたプログラムをコンパイルする際にcv200d.dllが見つからないとのエラーがでました。そこで環境変数を
;C:OpenCV2.0buildbindebug;C:OpenCV2.0buildbinrelease
のところを
;C:OpenCV2.0buildbinDebug;C:OpenCV2.0buildbinRelease
のように変更する必要がありました。同じエラーで困っている方の参考になれば幸いです。
【2011/12/31 22:20】 URL | tarukosu #cZ5JLAxU [ 編集]

Re: Re:Re: 一部dllやlibが生成されません。
追加情報を頂きありがとうございます。
OpenCVはいろいろな情報が見つかると思いますが、バージョンによってリンクするlibファイルやヘッダファイルが異なってくるので、ご注意下さい。
これまで、各バージョンを触って来ましたが、現行のOpenCV2.3.1は比較的安定しているように思うので、こちらを使う方がオススメです。
【2011/11/24 00:20】 URL | Akira #- [ 編集]

Re:Re: 一部dllやlibが生成されません。
>>Akira様
ご回答ありがとうございます。
ご指示いただいた通りVC++2008Expressでソリューションのビルドをしたところうまくいきました。

一応、ほかのHPでも同様の質問をさせていただいていたのですが、そこで別の解決策も教えていただいたので、僭越ながら転載させていただきます。

VisualStudio2010になってから<vector>や<algorithm>をincludeしても
<iterator>がincludeされなくなったとのことで、解決策としてはcvmodelest.cppとcvhog.cppの両方で<iterator>をインクルードすることでうまくいくとのことでした。

私の方でも確認したところ、highgui.dllやcv200d.dllといったファイルが作成されました。

私はOpenCVを使い始めたばかりですので、もう少し勉強をしてから2.3.1の方も試してみたいと思います。

ご回答ありがとうございました。
【2011/11/23 20:22】 URL | kou #- [ 編集]

Re: 一部dllやlibが生成されません。
同じ環境で私も試してみましたが、同様にエラーが出るようです。
Visual Studio2008Exでも試してみましたが、こちらではエラーは出ません。
ということで、VS2008を使うか、OpenCV2.3.1を使ってみては如何でしょうか?
【2011/11/21 22:43】 URL | Akira #- [ 編集]

一部dllやlibが生成されません。
いつもお世話になっております。件名に書いたとおりのことなのですが、このページに書いてある通り(CMakeのバージョンは2.8.6、VisualStudio2010にて使用しました)にOpenCV2.0をインストールしたのですが、ソリューションのビルドをしたところ、cv200d.libやhighgui.dllなどといった主要のファイルが生成されませんでした。また、ソリューションのビルドをする際に30以上のエラーが出てしまい、その中でも上記のファイルが開けないといったエラー内容があったのですが、どのように対処したらよろしいでしょうか?

OSはwindows7 64bitを使用しております。
【2011/11/19 21:12】 URL | kou #gwRtGZsA [ 編集]

Re:参照設定について
Akira様。こんにちは。
返事ありがとうございます。
参考のページを全く見ていなかった自分が調査不足でした。
>>参照設定をVisual Studioに対して行うと、作成したプロジェクトを他の人(他のPC)に渡すと、ディレクトリの設定がされていないため、参照できないので、ご注意下さい。
visual studioで設定するとそのような弊害が起きるんですね。気を付けます。
ご丁寧に教えていただきありがとうございました。
【2010/10/04 19:50】 URL | nao #- [ 編集]

参照設定について
naoさん。こんにちは。
ライブラリファイル、ヘッダファイルの参照設定ですが、やり方は3通りあります。
①ソースコードに書く方法(この記事の方法)
②プロジェクトに設定する方法
③Visual Studioに設定する方法
お問い合わせの内容からし、今回は③の方法を期待していると思いますが、設定方法はVS2008以前であれば、
VSのメニューの『ツール』⇒『オプション』
を選択し、
『プロジェクトおよびソリューション』⇒『VC++ディレクトリ』
の設定で右上に表示されている『ディレクトリを表示するプロジェクト』のリストの中から『インクルードファイル』、『ライブラリファイル』を選択し、参照するディレクトリ(パス)を選択して下さい。ただし、この設定ではディレクトリのみなので、実際に使用するライブラリファイルの設定はプロジェクトの設定か、ソースコード内で設定を行い、ヘッダファイルはソースコード内に記載します。
(参考)
http://imagingsolution.blog107.fc2.com/blog-entry-231.html

VS2010以降では、この方法は非推奨となっているのですが、ちょっと面倒なので詳細の説明は他のサイトにお任せします。
このへん↓が参考になるでしょうか?
http://d.hatena.ne.jp/blono/20100501

また、参照設定をVisual Studioに対して行うと、作成したプロジェクトを他の人(他のPC)に渡すと、ディレクトリの設定がされていないため、参照できないので、ご注意下さい。
【2010/10/04 10:41】 URL | Akira #- [ 編集]

ライブラリファイル(*.lib)とヘッダファイル(*.h)の参照設定について
こんにちは。このHPを参考にopneCVを始めさせてもらっています。
ライブラリファイル(*.lib)とヘッダファイル(*.h)の参照設定のことなのですが、
このページではプログラムに直接設定を書き込んでるようですが、
プログラムを毎回書くごとに書くということでしょうか?
できれば設定を一回で済ませる方法というのはないのでしょうか?
ご回答よろしくお願いします。
【2010/10/04 03:17】 URL | nao #- [ 編集]

ご回答ありがとうございました。
管理人様が公開下さっているアプリで動作確認したところ、CMakeでビルドしたDLLで正常に動きましたので、やはり管理人様のおっしゃる通り旧バージョンの名残と思います。
早速のご回答ありがとうございました。
また何か質問があれば、投稿させて頂きます。
【2010/03/03 23:18】 URL | 池上 亨 #- [ 編集]

RUN_TESTSがエラーになる件
RUN_TESTSプロジェクトでエラーになる件ですが、確かに確認できました。
ただ、初期状態でソリューションのビルドを行うとRUN_TESTSはビルドの構成から外されていたので、最初、私は気がつきませんできたけど…
エラーを見る限りだと、cvtest.exe、cxcoretest.exe、mltest.exeが見つからないと言ってきますが、もともとDebugだとcvtestd.exeなどとファイル名が異なることからも、Ver.1.x時代の名残でRUN_TESTSのプロジェクトが残っているのでしょうか?
エラーを消すように少しチャレンジしてみましたが、結局、ダメでした。
やはり、DLL本体のエラーでは無いので、気にしなくても良いのではないでしょうか???
(私は気にしません。。。)
【2010/03/03 07:51】 URL | Akira #- [ 編集]

Re: RUN_TESTSのエラーは無視でいいのでしょうか?
池上様
コメント頂きありがとうございます。
私はRUN_TESTSで確認した事がないのですが、本日、会社が終わったら確認してみようと思います。
この件についてご存知の方がいらっしゃいましたら、コメント頂けたら幸いです。よろしくお願い致します。
【2010/03/02 07:57】 URL | Akira #- [ 編集]

RUN_TESTSのエラーは無視でいいのでしょうか?
開発中に悩んだ時はいつも拝見させて頂いており、大変助かっております。
さてタイトルに書きましたように、ここに記述されているのと同じようにCMakeでビルドしましたが、RUN_TESTSでエラーが出ます。
DLLは正しくビルドされている様なので、このエラーは無視していいと思いますが、管理人様はどのようにされおられますでしょうか。
先達のご意見を拝聴したくコメントを投稿させて頂きました。
【2010/03/02 05:13】 URL | 池上 亨 #9ygIODjo [ 編集]

記事内の誤記を一部修正しました。
旧誤記)
//Releaseモードの場合
#pragma comment(lib,"C:\OpenCV2.0\build\lib\debug\~~~
修正後)
#pragma comment(lib,"C:\OpenCV2.0\build\lib\release\~~~
です。
申し訳ありませんでした。
【2009/10/08 20:07】 URL | Akira #- [ 編集]


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














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


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

現在の閲覧者数: / 合計