SSブログ

OpenCVを使って画像処理(インストール編) [OpenCV]

ダウンロード

以下のサイトからWindows版を後、最新版をダウンロードする。現在の最新版は OpenCV-2.4.6.0.exe でした。

image

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

image

http://sourceforge.net/projects/opencvlibrary/files/opencv-win/

インストール

ダウンロードしたOpenCV2.4.6.0.exeをクリックし起動する。

[…]ボタンを押してインストール先を指定し、「OK」ボタンを押すとインストールが開始される。それに先立ちインストールフォルダ「C:\OpenCV2.4.6」を作成しておくこと。

image

環境設定

この状態ではファイルが解凍されただけなので環境設定する。

スタートメニューから「コントロールパネル」、「システム」、「システムの詳細設定」と選択し「システムのプロパティ」を起動する。

image

ここで「詳細設定」田ぬ、「環境変数」ボタンを押し「環境変数」ダイアログを起動する。

image

システム環境変数のリストから「Path」を選択し「編集」ボタンを押す。

image

変数値に以下の2つの値を追加して「OK」ボタンを押す。

C:\OpenCV2.4.6\opencv\build\x86\vc10
C:\OpenCV2.4.6\opencv\build\x86\vc10\bin

コンパイルテスト

Visual Studio 2010から「Visual C++」「Windows フォームアプリケーション」プロジェクトを作成する。

“stdafx.h”に以下のコードを追加。

#include <opencv/cv.h>
#include <opencv/highgui.h>

プロジェクトのプロパティダイアログを起動する。

インクルードディレクトリの設定

「構成プロパティ」「VC++ディレクトリ」「インクロードディレクトリ」、「▼」ボタン、「編集」と選択し「インストールディレクトリ」ダイアログを起動する。

image

「フォルダ」アイコン、「…」ボタンと選択しディレクトリ選択ダイアログを起動する。

image

インクルードディレクトリ”C:\OpenCV2.4.6\opencv\build\include”、ライブラリディレクトリ”C:\OpenCV2.4.6\opencv\build\x86\vc10\lib”を設定する。

image

共通言語ランタイムサポートを(/clr)へ変更する。

image

この状態でビルドすると以下のような「未解決の外部シンボルエラー」が発生する。

error LNK2019: 未解決の外部シンボル _cvReleaseImage が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvWaitKey が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvShowImage が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvMoveWindow が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvNamedWindow が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvLoadImage が関数 _main で参照されました。

解決方法は、「プロジェクトのプロパティ」ダイアログから「構成プロパティ」「リンカー」「入力」を選択し、「追加の依存ファイル」にライブラリディレクトリ”C:\OpenCV2.4.6\opencv\build\x86\vc10\lib”内のライブラリすべてを登録する。

image

今回登録したのは以下の40個のライブラリです。

opencv_calib3d246.lib
opencv_calib3d246d.lib
opencv_contrib246.lib
opencv_contrib246d.lib
opencv_core246.lib
opencv_core246d.lib
opencv_features2d246.lib
opencv_features2d246d.lib
opencv_flann246.lib
opencv_flann246d.lib
opencv_gpu246.lib
opencv_gpu246d.lib
opencv_haartraining_engine.lib
opencv_haartraining_engined.lib
opencv_highgui246.lib
opencv_highgui246d.lib
opencv_imgproc246.lib
opencv_imgproc246d.lib
opencv_legacy246.lib
opencv_legacy246d.lib
opencv_ml246.lib
opencv_ml246d.lib
opencv_nonfree246.lib
opencv_nonfree246d.lib
opencv_objdetect246.lib
opencv_objdetect246d.lib
opencv_ocl246.lib
opencv_ocl246d.lib
opencv_photo246.lib
opencv_photo246d.lib
opencv_stitching246.lib
opencv_stitching246d.lib
opencv_superres246.lib
opencv_superres246d.lib
opencv_ts246.lib
opencv_ts246d.lib
opencv_video246.lib
opencv_video246d.lib
opencv_videostab246.lib
opencv_videostab246d.lib

リリースビルドOKとなりました。しかしデバッグビルドはNGです。以下のエラーがでます。

エラー    1    error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'AssemblyInfo.obj' と一致しません。    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\OpenCV_Test\opencv_haartraining_engine.lib(cvsamples.obj)    OpenCV_Test
エラー    2    error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'AssemblyInfo.obj' と一致しません。    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\OpenCV_Test\opencv_haartraining_engine.lib(cvcommon.obj)    OpenCV_Test
エラー    3    error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'AssemblyInfo.obj' と一致しません。    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\OpenCV_Test\opencv_haartraining_engine.lib(cvhaartraining.obj)    OpenCV_Test
エラー    4    error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'AssemblyInfo.obj' と一致しません。    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\OpenCV_Test\opencv_haartraining_engine.lib(cvboost.obj)    OpenCV_Test
エラー    5    error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'AssemblyInfo.obj' と一致しません。    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\OpenCV_Test\opencv_haartraining_engine.lib(cvhaarclassifier.obj)    OpenCV_Test
警告    6    warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\OpenCV_Test\LINK    OpenCV_Test
エラー    7    error LNK1319: 5 の不一致が検出されました    C:\Users\2023786\Documents\Visual Studio 2010\Projects\OpenCV_Test\Debug\OpenCV_Test.exe    1    1    OpenCV_Test

先に行った、「プロジェクトのプロパティ」ダイアログから「構成プロパティ」「リンカー」「入力」を選択し、「追加の依存ファイル」にライブラリディレクトリ”C:\OpenCV2.4.6\opencv\build\x86\vc10\lib”内のライブラリすべてを登録する。から以下の2つのライブラリを削除したらビルドOKとなった。この2つライブラリの情報にたどり着けなかったので、無視して開発を進めることにします。

opencv_haartraining_engine.lib
opencv_haartraining_engined.lib

インストール編は以上で終了とします。次回はアプリケーションの開発編とします。

 

参考サイト


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。