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

プロフィール

Akira

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

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

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

09 | 2017/10 | 11
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.1の入手、ダウンロード、インストール、環境設定

メインページOpenCV


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


OpenCV2.0ではCMakeを使わないといけなくて、少し難しかったのですが、OpenCV2.1ではコンパイル済みのファイルが公開されているので、ずいぶんOpenCVのインストールが簡単になりました。

今回のバージョンアップではマルチスレッド処理対応がVer2.0ではOpenMPだったのに対し、Ver2.1ではTBB(Threading Building Blocks)へ変更となりました。
お恥ずかしながらTBBというのは今回初めて知ったのですが、せっかくなので、CMakeを使ってTBBに対応する方法も調べてみました。TBB対応の部分は後半にまとめていますが、もし、間違いなどありましたら、コメント頂けると助かります。

ということで、まずはOpenCV2.1のダウンロード方法から↓

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

OpenCV2.1の入手先は下記ページとなります。

http://sourceforge.net/projects/opencvlibrary/

このページへ行くと
OpenCV2.1

  もしくは

OpenCV2.1

と表示されていると思いますが、緑のボタンは気にせず、View all filesをクリックします。
以下、Windowsの場合ですが、ちょっと下にあるエクスプローラのような部分を開き、
▼opencv-win
   ▼2.1
      OpenCV-2.1.0-win.zip 
      OpenCV-2.1.0-win32-vs2008.exe 
      OpenCV-2.1-Readme.txt 


と3つのファイルが表示されていますが、OpenCVのインストールには 
OpenCV-2.1.0-win.zip
 もしくは OpenCV-2.1.0-win32-vs2008.exe が必要となります。

OpenCV初心者の方はOpenCV-2.1.0-win32-vs2008.exeを使った方が全々簡単なので、こちらのファイルを使う方がオススメです。
TBBやIPPに対応させたいという人はOpenCV-2.1.0-win.zipを使ってOpenCVをビルドすれば良いでしょう。
ReadmeファイルはOpenCV2.1の変更内容の概要や既知の問題などが記載されているので、目を通しておいて下さい。

ということで、以下、OpenCVのインストール方法です。

OpenCV-2.1.0-win32-vs2008.exeを用いたインストール(初心者向け)

ダウンロードしたファイル(OpenCV-2.1.0-win32-vs2008.exe)をダブルクリックします。
警告が表示される場合がありますが、実行ボタンをクリックして下さい。

次にこのようなウィンドウが表示されますが、『次へ』をクリック

OpenCV2.1のインストール

ライセンス契約のウィンドウが表示され、『同意する』をクリック

OpenCV2.1のインストール

環境変数PATHを設定するかどうか?聞かれるので、

 Add OpenCV to the system PATH for all users
    もしくは
 Add OpenCV to the system PATH for current users

を選択し、『次へ』をクリック

OpenCV2.1のインストール

インストール先のフォルダは特に問題がなければそのまま『次へ』をクリック
ただし、インストール先に例えば『Program Files』 のように、フォルダ名にスペースが入るフォルダを指定してはいけないようです。(未確認)

OpenCV2.1のインストール

スタートメニューファルダは、そのまま『次へ』をクリック

OpenCV2.1のインストール

インストールするコンポーネントもそのまま『インストール』をクリック

OpenCV2.1のインストール

インストール中画面↓

OpenCV2.1のインストール

以下のウィンドウが表示されたらインストールは完了です。

OpenCV2.1のインストール

これでOpenCV2.1のインストールは完了です。
OpenCV2.0から比べると、ずいぶん簡単になりました。

デフォルト状態でOpenCV2.1をインストールすると、

  インクルードファイル(*.h)は
   c:\OpenCV2.1\include\opencv
  ラ イブラリファイル(*.lib)は
   c:\OpenCV2.1\lib
  ダイナミックリンクライブラリ ファイル(*.dll)は
   c:\OpenCV2.1\bin

へインストールされるので、インクルードファイルやライブラリファイルの参照設定は上記フォルダを指定して下さい。
例えば、以前、紹介した C++/CLIによるサンプルプログラム(Ver2.0対応版) のサンプルプログラムでは最初のインクルードファイル、ライブラリファイルの設定部分を

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

#ifdef _DEBUG
    //Debugモードの場合
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\cv210d.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\cxcore210d.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\cvaux210d.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\highgui210d.lib")
#else
    //Releaseモードの場合
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\cv210.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\cxcore210.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\cvaux210.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\lib\\highgui210.lib")
#endif

と変更すればOpenCV2.1対応となります。
もちろん、プロジェクトのプロパティで設定しても構いません。

また、別途、Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)が必要かも?知れませんので、別 途、インストールしてみて下さい。(私はもともとインストールされていたので、未評価です。)

以下の部分は上級者向けです。
OpenCV-2.1.0-win32-vs2008.exeを 使ってインストールした場合は以下の部分は無視して下さい。

OpenCV-2.1.0-win.zipを用いたインストール(上級者向け)

今回はわざわざCMakeを使ってOpenCVをビルドする以上、やっぱりTBBに対応させたいのですが、なにせTBBは初めてなので、あまり自信がありませんが、以下、参考まで。(上級者向けとか言っておきながら私自身がヤバイ)

まずはOpenCV2.1のファイル(OpenCV-2.1.0-win.zip) をダウンロードし解凍します。

するとフォルダ構成は

 解凍フォルダ
   OpenCV-2.1.0
      
3rdparty
      
apps
      
data
        …


となっていますが、c:\OpenCV2.1というフォルダを作っておき、OpenCV-2.1.0以下のファイルをそのフォルダへ移動しておきます。

 c:\OpenCV2.1
    
3rdparty
    
apps
    
data
      …


とします。
c:\のフォルダが増えるのは私の好みでは無いのですが、他の都合とも合わせて、このようにしておきます。)

  TBBの入手

TBBは
  http://www.threadingbuildingblocks.org/

のページの上部のタブ『Downloads』→少し下の『Stable Release』へと進み、最新のバージョンをクリックします。
2010.4.11現在、最新版のtbb30_20100310ossをクリックします。

すると、OSごとにファイルが用意されているので、Windowsの場合は一番したのtbb30_20100310oss_win.zipの右側にあるDownloadをクリックしファイルをダウンロードします。

ダウンロードしたファイルを解凍すると、下記のような構成になっています。

 tbb30_20100310oss
    bin
    ┣doc
    ┣examples
    include
       ┗tbb
    lib

このうちOpenCVの設定に必要なのはbin、tbblibです。
この3つのフォルダを最初に解凍したOpenCVのフォルダへ移動し、以下のような構成にして下さい。

 c:\OpenCV2.1
      …
    bin
      …
    include
      tbb
      …
    lib

これでTBBの下準備は終了です。(tbbをincludeの下に持ってくるのがポイント)

OpenCV-2.1.0-win.zipを 使ってOpenCV2.1をインストールする場合は、OpenCV2.0の時と同様に自分でOpenCVそのものCMakeというソフトを使ってビルドする必要があります。
こ のビルド方法は以下の通りです。

  CMakeの入手、セットアップ

CMakeは下記ページ

http://www.cmake.org/cmake/resources/software.html

より入手します。
2010.4.8現在、最新版はVer2.8.1なので、Windows 版のWindows (Win32 Installer)と書いてある右の部分のcmake-2.8.1-win32-x86.exeをクリックし、ファイルをダウンロードして下さい。

ダウンロードしたファイル(cmake-2.8.1-win32-x86.exe)をダブルクリックしてCMakeのインストールを開始します。

このようなウィンドウが表示されたら、『次へ』を クリック

OpenCV2.1をビルドする。

ライセンス契約は、『同意する』を クリック

OpenCV2.1をビルドする。

環境PATHの設定を聞かれますが、PATHは追加することなく、そのまま『次へ』を クリック

OpenCV2.1をビルドする。

インストール先のフォルダは特に問題がなければそのまま『次へ』を クリック

OpenCV2.1をビルドする。

スタートメニューファルダは、そのまま『次へ』を クリック

OpenCV2.1をビルドする。

インストール中画面↓

OpenCV2.1をビルドする。

以下のウィンドウが表示されたらCMakeのインストールは完了です。

OpenCV2.1をビルドする。

  OpenCV2.1のビルド方法

CMakeから吐き出すファイルを格納するフォルダ(例えばc:\OpenCV2.1の下にbuild)を追加しておきます。

次にWindowsのスタートメニューよりCMake 2.8→CMake 2.8→CMake (cmake-gui)
と選択し、CMakeを起動させます。

OpenCV2.1をビルドする。

Where is the source codeの欄に
  c:\OpenCV2.1
Where to build the binariesの欄に先程作成したフォルダ(build)
  c:\OpenCV2.1\build
を指定します。

OpenCV2.1をビルドする。

次にウィンドウの左下にある Configure のボタンをクリックすると、どの開発環境を使うか?を選択するウィンドウが表示されますが、ここはVisualStudio2008以降を選択して下さい。
(VisualStudio2005を選択すると、エラーが出てOpenCVをビルドすることができませんでした...) 
VisualStudio2008ExpressEditionでも大丈夫です。

OpenCV2.1をビルドする。

すると、こんな↓赤い画面が表示されます。

OpenCV2.1をビルドする。

今回はTBBに対応させたいので、WITH_TBB のチェックボックスを有効にします。

OpenCV2.1をビルドする。

もう一度、 Configure  のボタンをクリックするとTBB_INCLUDE_DIRという項目が追加され、赤く表示されると思います。

OpenCV2.1をビルドする。

次にTBBのインクルードファイル(*.h)のディレクトリを指定するためTBB_INCLUDE_DIR-NOTFOUNDの部分をクリックしインクルードファイルの場所(c:\OpenCV2.1\include\tbb)を指定します。

OpenCV2.1をビルドする。

さらに、 Configure  のボタンをクリックするとTBB_LIB_DIRと いう項目が追加され赤く表示されます。

OpenCV2.1をビルドする。

ディレクトリ名の部分をクリックし、TBBのライブラリファイル(*.lib)のファルダの場所(c:\OpenCV2.1\lib\ia32\vc9) を指定します。(32BitOS、VisualStudio2008の場合)

OpenCV2.1をビルドする。

次に、 Generate  のボタンをクリックするとWhere to build the binariesで指定したフォルダ内にOpenCV.slnが作成されているので、このファイルをダブルクリックし、VisualStudioを起動させます。
C++とC#の両方がインストールされている場合、

OpenCV2.1をビルドする。

のような画面が表示されますが、Visual C++ Express 2008 を選択し、OKボタンをクリックして下さい。

VisualStudioが起動したら、ReleaseDebugの両モードでOpenCVをビルドして下さい。

すると、binフォルダ内のRelease、Debugフォルダにダイナミックリンクライブラリ(*.dll)が
libフォルダ内のRelease、Debugフォルダにライブラリファイル(*.lib)が作成されています。

  OpenCVの開発環境の設定

次に環境変数(使用するdllファイルのディレクトリ)の設定(Pathの登録)を行います。

スタートボタンをクリック コンピュータを 右クリック プ ロパティをクリックします。

OpenCV2.1の環境設定

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

OpenCV2.1の環境設定

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

OpenCV2.1の環境設定

変数値のテキストボックスの最後の部分に、OpenCVをビルドした時に作成したdllファイル
およびTBBのフォルダを指定し ます。

;C:\OpenCV2.1\build\bin\Debug;
C:\OpenCV2.1\build\bin\Release;C:\OpenCV2.1\bin\ia32\vc9

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

  プログラムのリンク方法

OpenCVライブラリを使ったプログラムではインクルードファイル(*.h)とライブラリファイル(*.lib)の参照設定をしないといけませんが、上記方法でOpenCVをビルドした場合は下記のようになります。

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

#ifdef _DEBUG
    //Debugモードの場合
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Debug\\cv210d.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Debug\\cxcore210d.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Debug\\cvaux210d.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Debug\\highgui210d.lib")
#else
    //Releaseモードの場合
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Release\\cv210.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Release\\cxcore210.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Release\\cvaux210.lib")
    #pragma comment(lib,"C:\\OpenCV2.1\\build\\lib\\Release\\highgui210.lib")
#endif

ただ、こうすると、最初のOpenCV-2.1.0-win32-vs2008.exeを用いたインストールと整合性が取れなくなってしまうのが、ちょっと微妙。

と、このようにすると、とりあえずTBBに対応しているように思いますが、もう少し評価してみようと思います。
 
 
Loading...
スポンサーリンク

この記事に対するコメント
Re: ビルドエラー対策
chontonpanさん。情報頂きありがとうございます。
実は、教えて頂いたリンク先にコメントをしているdandelionさんがTwitterでつぶやいていたので、何となくは知っていたのですが、面倒くさそうだったので、ここではVisualStudio2008を使ってビルドすることを推奨という事にしたのですが、VisualStudio2005しかパッケージ版(Expressでは無いエディション)を持っていない場合などは、VS2005だけでなんとかしたくなりますよね?!
VS2008でOpenCVをコンパイルしてもVS2005から使う事はできましたが、この場合、おそらくVisualStudioがインストールされていない環境では、2005と2008のC++ 再頒布可能パッケージをインストールしないとダメだと思われます...
私もVisualStudio2005だけでやりたい場合は詳細して頂いたページを参考にさせて頂きます。
どうもありがとうございました。
そういえば、次のOpenCVのバージョンのOpenCV2.2が11月20日に公開予定ですね。
今から公開されるのが楽しみです。
以上、今後ともよろしくお願い致します。
【2010/11/01 21:06】 URL | Akira #- [ 編集]

ビルドエラー対策
このサイトいつも参考にさせていただいてます。
わかりやすいです。ありがとうございます。
Visual Studio 2005でのビルドエラーについては対策方法があるようです。

http://kijibato.sblo.jp/article/37287512.html

を参考にしてください。
【2010/11/01 10:40】 URL | chontonpan #- [ 編集]


情報どうもありがとうございます。
Win7(32Bit)+VS2008は最近では多いと思われる組み合わせですね。
私はメインのPCがVista(自宅),XP(会社)なので、参考になりました。
ちなみに、最近、記事にしましたけど、VS2010のC++/CLIではインテリセンスが使えないので、ダメダメですね~。
【2010/07/31 00:08】 URL | Akira #- [ 編集]


OpenCVとIntel TBBの導入方法の解説、ありがとうございます。
おかげでスムーズにインストール出来ました。
(参考までに :Win7 32Bit、 VC++2008 Express Editionでの動作を確認しました)
【2010/07/30 23:23】 URL | #- [ 編集]

どうもありがとうございます。
このようなコメントを頂けると、本当に励みになります。

これからもよろしくお願い致します。
【2010/07/28 20:57】 URL | Akira #- [ 編集]

ありがとうございます。
こちらのTutorialはとても参考になりました。
本当に助かりました。

ありがとうございました。
【2010/07/28 14:05】 URL | fahmi #Rgc8hg.E [ 編集]


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














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


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

[プログラム]VC++2010 + OpenCV2.1 = 失敗

画像解析ソリューションさんのエントリを見て、OpenCV2.1がリリースされていることを知りました。 最近、開発に追われていてそっちの状況をウォッチしていませんでした。。 VC++2005,2008ではインストーラを叩くだけで簡単にインストールできるそうです。 OpenCV2.0のインス alt-ctrl-today【2010/04/12 23:56】

現在の閲覧者数: / 合計