2012.5現在、OpenCVの最新バージョンはVer2.4です。
こちらのインストール方法についてはOpenCV2.4の入手、ダウンロード、インストール、環境設定を参照願います。
OpenCV2.3は、一時、製品候補版のOpenCV2.3.0rcとして公開されましたが、現在ではrcの取れたOpenCV2.3.0となりました。
主な変更点
2.2から2.3への変更点はOpenCVのこのページで確認できます。
2.3rcおよび2.3の部分をご確認ください。
http://opencv.willowgarage.com/wiki/OpenCV%20Change%20Logs
OpenCV2.3の入手、ダウンロード先
OpenCVの入手は下記ページよりダウンロードして下さい。
(Windows版)
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/
(Unix版)
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3/
上図はWindows版の物ですが、内容は以下の通り。
- OpenCV-2.3.0-win-superpack.exe
コンパイルされたOpenCVのライブラリファイル(*.dll、*.lib、*.h)が32bit、64bit、
Visual Studio 2008用、2010用など各環境に合わせたファイルが用意されています。
このファイルは従来のようにOpenCVのインストーラではなく、ただの自己解凍ファイルで
あるため、自分でPATHの設定などを行う必要があります。 - OpenCV-2.3.0rc-gpu-support-win32-vs2008.zip
Windows 32bit版、Visual Studio 2008、GPU対応のコンパイル済みライブラリ?
(未評価です。)
- OpenCV-2.3.0rc-win-src.zip
Cmakeというソフトを使って、自分でOpenCVをコンパイルするにはこのファイルを用います。
CUDA4.0やOpenNI、IPPへの対応など、きめの細かい設定が可能となります。
必要に合わせて上記の中からファイルをダウンロードして下さい。
OpenCVを使うのが初めての方はコンパイル済みのファイル(*.exe)の使用をオススメします。
以下、次の順序でOpenCVのインストール方法を説明したいと思います。
コンパイル済みファイル(OpenCV-2.3.0-win-superpack.exe)を用いたインストール方法
ダウンロードしたファイル(OpenCV-2.3.0-win-superpack.exe)をダブルクリックします。
このファイルはただの自己解凍ファイルなので、好きなフォルダへコピーして下さい。
ファイルを解凍すると、下記のような構成になっています。
\OpenCV2.3
┣ build
┃ ┣ bin
┃ ┣ include
┃ ┃ ┣ opencv
┃ ┃ ┣ opencv2
┃ ┃ ┃ ┣ calib3d
┃ ┃ ┃ ┣ contrib
┃ ┃ ┃ ┣ core
┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┗ opencv.hpp
┃ ┃ ┗ CMakeLists.txt
┃ ┣ Python
┃ ┣ x64
┃ ┃ ┣ mingw
┃ ┃ ┣ vc9
┃ ┃ ┃ ┣ bin
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.dll
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.dll
┃ ┃ ┃ ┃ ┣ opencv_contrib230.dll
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┣ lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┗ staticlib
┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┗ vc10
┃ ┃ ┃ ┣ bin
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.dll
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.dll
┃ ┃ ┃ ┃ ┣ opencv_contrib230.dll
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┣ lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┗ staticlib
┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┣ :
┃ ┗ x86
┃ ┃ ┣ mingw
┃ ┃ ┣ vc9
┃ ┃ ┃ ┣ bin
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.dll
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.dll
┃ ┃ ┃ ┃ ┣ opencv_contrib230.dll
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┣ lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┗ staticlib
┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┣ :
┃ ┃ ┗ vc10
┃ ┃ ┃ ┣ bin
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.dll
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.dll
┃ ┃ ┃ ┃ ┣ opencv_contrib230.dll
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┣ lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┃ ┣ :
┃ ┃ ┃ ┗ staticlib
┃ ┃ ┃ ┣ opencv_calib3d230.lib
┃ ┃ ┃ ┣ opencv_calib3d230d.lib
┃ ┃ ┃ ┣ opencv_contrib230.lib
┃ ┃ ┃ ┣ :
┣ opencv
┃ ┣ 3rdparty
┃ ┣ android
┃ ┣ data
┃ ┣ :
┗ readme.txt
主に関係しそうなファイルは赤く表示しておきました。
より詳細な情報はreadme.txtファイルを参照下さい。
解凍したファイルは、このままの構成で使うも良し、従来のようにc:\OpenCV2.3というようなフォルダを作って、その中へコピーするも良し、この辺は好みですが、自分でPATHの設定(*.dllファイルのあるフォルダの設定)を行って下さい。
ちょっと興味を引かれたのはstaticlicが用意されている事でしょうか?
CMakeを使ったOpenCV2.3のビルド方法
◆事前準備
今回のバージョンはCUDA4.0やOpenNIに対応している事もあり、OpenCVからこれらを使いたい場合は先にインストールしておいて下さい。(必要ない場合はインストールしなくても構いません)
これらのインストールについては、下記ページを参照下さい。
CUDA4.0
OpenNI
Kinect1 -OpenNI導入-
(UnaNancyOwenさんのブログ)
※私はWindows7の64bit版を使っていますが、64bit版のOpenNIのインストールに失敗したため、32bit版を用いました。
◆CMakeのダウンロード、インストール
CMakeというソフトを使って、OpenCVのソースコードからVisual Studio用のソリューションファイル(*.sln)を作成します。
CMakeは下記ページよりダウンロードします。
http://www.cmake.org/cmake/resources/software.html
2011.6.28現在、CMakeの最新版は2.8.4になります。
上記リンクより、Windows (Win32 Installer)(cmake-2.8.4-win32-x86.exe)をダウンロードします。64bitOSでも、上記のファイルで大丈夫です。
CMakeのインストールは、表示されたウィンドウのデフォルト設定で、次へ次へで大丈夫です。
◆OpenCVをソースコードからビルドする方法
最初に紹介したOpenCVの入手先よりOpenCV-2.3.0rc-win-src.zipをダウンロードし、ファイルを解凍します。
ファイルを解凍すると、\OpenCV-2.3.0rc-win-src\OpenCV-2.3.0\・・・ というようなフォルダ構成となっていますが、旧バージョンやコンパイル済みの構成と合わせるため、今回は
c:\OpenCV2.3
というフォルダを作成し、解凍したファイルの\OpenCV-2.3.0内のファイルを上記フォルダへ移動します。
c:\OpenCV2.3
┣3rdparty
┣android
┣data
・・・
というようにします。
次に、先ほどインストールしたCMakeを起動し、
Where is the source code: に c:\OpenCV2.3
Where to buid the binaries: に c:\OpenCV2.3
を指定します。
次に左下の Configure ボタンをクリックします。
すると、ソリューションファイルを作成するVisual Studioのバージョン選択ウィンドウが表示されるので、使用しているVisual Studioをバージョンを指定して下さい。(おそらくVisual Studio2008以降推奨?)
しばらくすると、このように表示されます。
ここで、CUDAやOpenCVなどを使うかどうかを設定します。他にもIPPやTBBの設定ができます。
CUDAを使う場合は WITH_CUDA にチェック☑
(CUDAを使わない場合、CUDAに対応していない場合はチェックを外して下さい。)
OpenNIを使う場合は WITH_OPENNI にチェック☑
使用するオプションを選択したら、再度、Configureボタンをクリックします。
すると、部分的に赤く表示される場合があります。
これは、パスなどの設定が間違っているためで、その部分の設定を行います。
OpenNI(32bit版)をデフォルト設定でWindows7 64bitにインストールした場合は以下のように設定します。
OPENNI_INCLUDE_DIR | C:\Program Files(x86)\OpenNI\Include |
OPENNI_LIB_DIR | C:\Program Files(x86)\OpenNI\Lib |
OPENNI_PRIME_SENSOR_MODULE_BIN_DIR | C:\Program Files(x86)\PrimeSense\SensorKinect\Bin |
ここで、Configureボタンをクリックします。
ここで、赤い部分が表示されていなければ、CMakeの設定は合っています。
赤い表示がある場合は、再度、設定を行って下さい。
さらに、Configureボタンをクリックします。
すると、Generateボタンを有効になるので、Generateボタンをクリックします。
これでようやくWhere to buid the binaries:で指定したフォルダ(c:\OpenCV2.3)にOpenCVのソリューションファイル
OpenCV.sln
が作成されます。
次に上記のソリューションファイル(OpenCV.sln)をダブルクリックし、Visual Studioを起動します。
起動後、Visual Studioのメニューのビルド→構成マネージャでINSTALLの部分にチェックを入れて下さい。(Debug/Releaseとも)
設定を行ったら、閉じるボタンでウィンドウを閉じ、メニューのビルド→ソリューションのビルドでOpenCVのビルドを行います。
OpenCVのビルドには時間がかかりますが、Debug/Releaseともにビルドを行って下さい。
これでようやくOpenCVで必要なdll、lib、hファイルが C:\OpenCV2.3\install 内に作成されています。
そして、好みにもよりもますが、互換性も考慮して以下のように移動します。
C:\OpenCV2.3\install\bin内のファイルをC:\OpenCV2.3\bin内へ
C:\OpenCV2.3\install\include\opencv2内のファイルをC:\OpenCV2.3\include\opencv2内へ
C:\OpenCV2.3\install\lib内のファイルをC:\OpenCV2.3\lib内へ
移動します。
次にOpenCVのdllファイルを使えるように環境変数のPATHというのを設定します。
OpenCVの環境変数の設定
次にOpenCVのプログラムからライブラリ(*.dllファイル)を参照できるように環境変数の設定(Pathの登録)を行います。
Windowsのスタートボタンをクリック → コンピュータを 右クリック → プ ロパティをクリックします。
開いたウィンドウの システムの詳細設定 をク リックします。
次に詳細設定タブの環境変数のボ タンをクリックします。
次にシステム環境変数のPathを選択し、編集をクリックします。
変数値のテキストボックスの最後の部分に、OpenCVのdllファイルのあるフォルダを指定します。
;c:\OpenCV2.3\bin
※もともとあった文字は消さないようにご注意ください。
最初の ; (セミコロン)を付けるのもお忘れなく。
PATHの設定後、念のためPCを再起動して下さい。
以上で、OpenCVのインストールは完了です。
別途、簡単なサンプルサンプルプログラムを
https://imagingsolution.net/program/opencv/opencv2-3/c-sample-program/
のページにまとめました。
ただし、OpenCVを配置したフォルダが異なる場合は、適宜、フォルダ設定を変更して下さい。
ピンバック: OpenCV2.4の入手、ダウンロード、インストール、環境設定 | イメージングソリューション
初めまして。
プログラミング、OpenCVともに初心者です。
上で質問されている方と全く同じ問題が起こってしまい、サンプルプログラム等も実行できません。
環境:win7 pro (64bit), visual studio 2008 (ver.9)
問題:上の手順通りに、openCVの2つの圧縮ファイルを解凍しc:\OpenCV2.3に入れて統合し、
CMakeでインストール。
OpenCV.slnを実行してビルドを行ったのですがDebug/Releaseそれぞれ失敗2と表示され、ビルド失敗と出る。
(ビルドのログが長く、初心者なのでどこが失敗かわかりません。。。)
そして、C:\OpenCV2.3\install\include\opencv2というフォルダ自体が
作成されません。
どこか手順に問題がありますでしょうか?
ご教授願えたら幸いです。
Shunさん。初めまして。
書いて頂いた「失敗2」という情報だけではなかなか原因が特定しにくいのですが、初心者であるのなら、まずはCMakeなどはせずに(OSが64bitであっても)32bit版のOpenCV2.3.1のコンパイル済みのOpenCVを使ってみると良いと思いますが如何でしょうか?
OpenCV2.3.1のインストール方法についてはこちら↓
http://imagingsolution.net/program/opencv/opencv2-3-1-downlaod-install/
にまとめてあるので、参照願います。
以上、よろしくお願い致します。
ピンバック: OpenCVをスタティックリンクライブラリでビルドする方法 | イメージングソリューション
ピンバック: OpenCV2.3.1の入手、ダウンロード、インストール、環境設定 | イメージングソリューション
先ほどの、コメントでコード中のインクルードファイルの記述が消えてしまったのでその内容を記載します。
#include “highgui\highgui.hpp”
です。
hanaさん、初めまして。
この内容はhighgui.hppのファイルを開くと、なぜエラーがでるか?分かると思います。
このファイルから
#include “opencv2/core/core.hpp”
#include “opencv2/highgui/highgui_c.h”
の2つのファイルをインクルードしているので、VisualStudioのインクルードディレクトリの設定ではopencv2のあるディレクトリを指定しないと、見つからないエラーが発生します。
なので、今回の場合は
C:\Program Files\OpenCV\OpenCV2.3\build\include
を指定してみて下さい。
当然、その場合は
#include “opencv2/highgui/highgui.hpp”
とします。
あと、”Program files”というフォルダ名にスペースが含まれる場所にOpenCVを置いておくとダメな場合もあったので、上記の設定でエラーが出る場合は、別の場所へ移動してみて下さい。
akiraさん回答ありがとうございました。
akiraさんの指摘通り、インクルードするファイルのパスを変えた所highgui.hppを開くことができました。
その後、lib関係でエラーを吐きましたが、
追加の依存ファイルの設定を
cv.lib cvaux.lib highgui.lib
から
opencv_imgproc230d.lib opencv_highgui230d.lib opencv_core230d.lib
に変更した結果、正常な動作を確認することができました。
http://imagingsolution.net/program/how-to-use-library/
また、上記のページも通して、今まで書いてある通りに行ってきた環境設定の内容を大分理解し、自分でもある程度考えて対応することができる能力を身に着けることができました。
本当にありがとうございました。
そう言って頂けると、ブログやってて良かったです。
初めまして。
OpenCVを初めて使うものですが、初期設定で分からない所がありましたので質問させていただきます。
OpenCVを導入するにあたり、
「OpenCV-2.3.0-win-superpack.exe」を「C:\Program Files\OpenCV\」に解凍し、
環境変数のPATHを「C:\Program Files\OpenCV\OpenCV2.3\build\x86\vc9\bin」に設定して
VC++2008の「ツール」→「オプション」→「プロジェクト及びソリューション」→「VC++ディレクトリ」から、インクルードファイルを「C:\Program Files\OpenCV\OpenCV2.3\build\include\opencv2」に設定し
#include
int main(int argc,char** argv)
{return 0;}
というコードをビルドしたところ、以下のエラーを吐きました。
include ファイルを開けません。’opencv2/core/core.hpp’: No such file or directory
↑のファイル自体はあるのですが、なぜエラーが出るのでしょうか?
また、どのように設定をすればエラーがでなくなるか教えていただけないでしょうか。
回答宜しくお願いします。長文失礼しました。
初めまして、いつも参考にさせていただいています。
質問なのですが、Visual Studio 10形式でCmakeを利用してプロジェクトを作成したところ、ALL_BUILDというファイルが作成されていないようでした。
そのため、Visual C++ 2010 Expressでコンパイルしようとすると、
プログラム’C:\opencv\mybuild\vc10_x86\Release\ALL_BUILD’を開始出来ません。
指定されたファイルが見つかりません。
と表示されてコンパイルが通りません。
何かご存じないでしょうか。
環境は、
Windows 7 Home Premium 64bit
CMake: 2.8.6
OpenCV: 2.3.1
で行いました。
また、CMakeではCUDAとTBBを有効にしています。
宜しくお願いします。
Kroroさん。お返事がなり申し訳ありません。
まったく同じ環境で試した事はないのですが、記載して頂いたようなコメントは見たことがありません。
CMakeをしてもALL_BUILDの中にはCMakeLists.txtなどのファイルぐらいしか入っていませんが、”開始できません”というコメントから察するに、opencv.slnをVisualStudioで開いて、デバッグ実行をしていないでしょうか?ビルドするには、VisualStudioのメニューのビルド→ソリューションのビルドで行って下さい。
解答有り難うございます。
確かに、ソリューションをビルドにするとこのメッセージボックスは出なくなりました^^;A
ただ、やはりinstallディレクトリにファイルが作成されてないようでして、出力ウィンドウを見てみると以下のようなエラーが出てました。
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: コマンド “setlocal
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: D:\Programing\cmake_win32\bin\cmake.exe -DBUILD_TYPE=Debug -P cmake_install.cmake
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmEnd
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmErrorLevel
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: exit /b %1
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmDone
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
39>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd” はコード 1 で終了しました。
原因はよく分からなかったのですが、プロジェクトフォルダーを完全に削除してからもう一度CMakeで作成し、構成マネージャでINSTALLにチェック入れてからソリューションのビルドをしたところうまくいきました。
どうも有り難うございました。
はじめまして
OpenCVについて勉強するために、インストール方法などを探していたら
大変分かりやすくまとめてくださっているこのサイトに辿りつきました。
上記の手順通りに進めて、いくつかエラーがありましたが、なんとか自力で乗り越え
問題なく動かせるようになりました、大変感謝しています。
さて、本題の質問なのですが・・・・・
こちらのサイトの「新規プロジェクトの作成方法」の記事に書かれてあったサンプルプログラムを
使用させて頂きました。
そして、なんとなく動作を掴めた(?)ので自分なりに書き換えて遊んでみようと思ったのですが・・・
と、プログラムに関しての質問をさせて頂きたいのですが、ここの記事にその質問をするのは
相応しくないと思いました。
こういったプログラム関係の質問はどこの記事に質問するのがよいでしょうか?
お忙しい中ご迷惑おかけしますが、返信よろしくお願いします。
KAZUKIさん、はじめまして。
質問をどこの記事にすれば良いか?という事ですが、できるだけ質問の内容に近い記事に書いて頂けると助かります。
が、近い記事がみつからない場合は、多少、異なる内容でも、コメントを書いて頂いても構いません。
今回の場合は「新規プロジェクトの作成方法」の記事でも構いません。
よろしくお願い致します。
先ほどデスクトップに解凍してCMAKEを使用したところ問題なく実行できました!
なぜエラーが出たのか未だによくわかりません・・・。
いろいろとありがとうございました。
おっ、原因が分からなくても、できて良かったです!
「Where to build the binaries:」を同じにしているので、
——–
CMake Warning at CMakeLists.txt:1648 (message):
The source directory is the same as binary directory. “make clean” may
damage the source tree
——–
が出てますよ。
なので、OpenCV-2.3.0-win-src.zipを新たに解凍しないで再度cmakeをするとエラーになることがあります。
情報ありがとうございます。
ここのパスはどこにするか?少し悩んだ部分でもあります。
ソースコードからCMakeする場合と、コンパイル済み版を使用する場合とでDLLのPATHを変えたくなかったので、今回は同じパスを指定してみました。
バージョンが変わると、フォルダ構成も微妙に変わってくるので、どのように説明したら一番わかり易いのか?ちょっと戸惑います...
ホウジョウウサギさんのコメントの通りに試してみたところ、エラーは無くなりました。
しかしファイルの数が多く、よく分からなくなってしまったため、新たにインストールをして
やり直そうとしました。
ところが、Cmakeで「configure」をクリックしたところ
「Error in configuration process, project files may be invalid」というメッセージがでてきます。
そのためインストールすることが出来なくなってしまいました。
前回は出ずにスムーズにインストールされたのですが、なぜなのでしょうか?
どのようにしたらインストールがうまくいくようになるのか教えていただきたいです。
質問ばかりで申し訳ありません。
このエラーは見たことが無いので、どのようにしたらいいのか?分からないのですが、最新版のOpenCV2.3.1を使ってみては如何でしょうか?
ちなみに、最初、OpenCV2.3.1にはソースコードは無いと思っていたのですが、OpenCV-2.3.1-win-superpack.exeを実行し、解凍して出来たopencvというフォルダをCmakeのsource codeに指定すればOKなので、試してみては?!って、2.3.1にもソースコードがある事を今日、教えてもらいました。
自分で試してみたところ、CMakeLists.txtを編集する事なく、コンパイルする事ができました。
ピンバック: OpenCV2.3.1が公開されました。 | イメージングソリューション
返信がだいぶ遅れてしまい、申し訳ありません。
私も学生Hさんとまったく同じエラーが出ています。
VS2010Exを使用していて、ホウジョウウサギさんの書かれているCMakeLists.txtでは
内容は同じものとなっておりました。
しかし、エラーが出ている状態です。
卒業研究でKinectについての研究をしており、
コンパイル済みのOpenCVではOpenNiが使えないため、使用するのが難しいと思われます。
どのようにしたらいいのでしょうか・・・
追記
ついでに質問なのですが、
cv.hで’opencv2/core/core_c.h’: No such file or directory
というエラーが出るのは、
opencv_ffmpeg230d.dllのエラーが原因なのでしょうか?
core/core_c.h’自体がファイルに存在しないので
エラーがなくなれば作られるのか疑問なのですが・・・
学生さんへ。
私もホウジョウウサギさんのコメントの通りに試してみましたが、これでopencv_ffmpeg230d.dllが見つからないというエラーは無くなりました。
また2つ目のエラーですが、cv.hをインクルードしているのなら、cv.hファイルを開くと分かりますが、このファイル内で
#include “opencv2/core/core_c.h”
などと、cv.hファイルから他のファイルを参照しています。
そのため、cv.hのあるフォルダからは上記のヘッダファイルを参照できないため、エラーとなってしまいます。
解決方法としては、opencv2のあるフォルダを
プロジェクトのプロパティ⇒C/C++⇒全般 の 「追加のインクルードディレクトリ」
に指定するようにして下さい。
OpenCVに限らず、ライブラリを使う時は*.h、*.lib、*.dllファイルの3点セットで必要になるのですが、これらのファイルが見つからないと言われる時は、ほとんどの場合、プロジェクトのプロパティやPATHの設定が、できていないと思われます。
これらの設定方法は、いくつかやり方があるのですが、こちらのページ
http://imagingsolution.net/program/how-to-use-library/
も参照して頂き、ちゃんと設定しているか?確認してみて下さい。
はじめまして、
OpenCV-2.3.0-win-src.zipをダウンロードしてCMAKEでプロジェクトを作成しビルドした所、私の所でもopencv_ffmpeg230d.dllのエラーが発生したので、ホウジョウウサギさんのコメントにあるように対策して
ビルドは無事成功しました。
.Libファイルも.dllファイルも生成出来ました。
しかし、installフォルダのincludeフォルダを覗いてもヘッダファイル群が見当たらず、OpenCV-2.3.0-win-superpack.exeよりヘッダファイルをコピーして使用しています。
とりあえず、簡単なプログラムは普通に動作していますが、今後、複雑なプログラムになってくると心配です。
バージョンが同じヘッダファイルなので大丈夫だとは思うのですが…
ちなにみコンパイラはVC2008EEです。
Tomoさん、はじめまして。
ヘッダファイルが見つからないという事ですが、これについては本文中にあるように、
OpenCV.slnをVisualStudioで開いて、VisualStudioのメニューの
ビルド→構成マネージャでINSTALL
の部分にチェックを入れていますか?
ちなみに、これは私も最初にハマりました...
返信ありがとうございます。
INSTALLの項目はDebugもReleaseもチェック入れていました。
なぜでしょうね、他の人で同じような症状の方がおられたらと思いコメントさせていただいたもので。
そういったコメントは歓迎です。
私も気になって再度CMakeをしてみましたが、CMakeのビルド先のフォルダの
『\install\include』
のフォルダにヘッダファイルが作成されていました。
CMakeのビルド先のフォルダに『\include』というフォルダもありますが、そちらにはヘッダファイルは作成されませんが、こっちを参照していないでしょうかね?
でなければ、ちょっとお手上げです...
僕もopencv_ffmpeg230d.dllのエラーがでて半日ほど無駄にしました。
svnでtrunkからとってきたのならエラー出ませんでした
silviaさん。情報頂きありがとうございました。
SVN版で大丈夫だったという事で、そこそこOpenCVは触られているんでしょね。
最近、ちょっと時間が取れずに評価できていないのですが、ffmpegを入れれば良いような気もしているのですが、確認できたら、本記事に追記したいと思いますが、もう、確認したよ!という方がいらっしゃったら、コメント頂けると助かります。
当方VS2005ですが
https://code.ros.org/trac/opencv/changeset/6018
に書かれている通りにしたところ opencv_ffmpeg230d.dllのエラー が無くなりました.
(それでいいのかどうか不明ですが…)
情報ありがとうございます。
私も教えて頂いた通りにVS2008Exで試してみたところ、エラーなくコンパイルする事ができました。(まだ、実際にdllを使っては試していませんが...)
にしても、よくこんな情報見つけましたね。
私だけだったら分からなかったかも?
助かりました。
いつも参考にさせていただいています!
私も上記の学生さんと全く同じ状態(C:\OpenCV2.3\install\include\opencv2)にあり助言が欲しいです。
>OpenCV.slnのビルド時に、ビルド→構成マネージャでINSTALLの部分にチェックを入れていますでしょうか?
この点はDebug/Release共にINSTALLにチェックを入れております。
以下にエラー文を載せておきます。よろしくお願いいたします。
(Debug/Release共に以下の同じ文が出ます)
(検索しましたがopencv_ffmpeg230d.dllのファイルは私のPC内にありませんでした)
(使用しているPC:U30Jc-QX075V http://kakaku.com/item/K0000130266/spec/)
CMake Error at cmake_install.cmake:111 (FILE):
5> file INSTALL cannot find “C:/OpenCV2.3/bin/Debug/opencv_ffmpeg230d.dll”.
5>
5>
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: コマンド “setlocal
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: “C:\Program Files (x86)\CMake 2.8\bin\cmake.exe” -DBUILD_TYPE=Release -P cmake_install.cmake
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmEnd
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmErrorLevel
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: exit /b %1
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmDone
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd” はコード 1 で終了しました。
========== ビルド: 3 正常終了、1 失敗、33 更新不要、2 スキップ ==========
お返事が遅くなり、申し訳ありません。
ご指摘頂いた”opencv_ffmpeg230d.dll”が見つからないという現象ですが、たまたま私もほぼ同じノートPCを持っているので、試してみたところ、同じ現象を確認できました。
が、まだ、原因が分からず、調査中です。
今のところ、コンパイルに成功しているものと、失敗しているものとを比べると、 opencv_ffmpegのプロジェクトの構成が異なっていることまでは分かったのですが、なぜ?そうなるのかが分からず...
原因が特定できたら、再度、コメントを書きたいと思います。
それまでは、コンパイル済みのOpenCV2.3ではダメでしょうか???
初めまして。
質問があります。
手順通りにOpenCVをCMakeを使いインストールしました。
OpenCV.slnを実行してビルドを行ったのですがDebug/Releaseともにひとつずつ
失敗が起きてしまい、C:\OpenCV2.3\install\include\opencv2というフォルダ自体が
作成されません。なぜ作成が成功しないのか教えていただけませんか?
「Debug/Releaseともにひとつずつ失敗が起きてしまい」という部分については、エラーメッセージなりを記載して頂けないと、原因の特定が難しいのですが、「C:\OpenCV2.3\install\include\opencv2というフォルダ自体が作成されない」という部分に関しては、OpenCV.slnのビルド時に、ビルド→構成マネージャでINSTALLの部分にチェックを入れていますでしょうか?
ご確認下さい。
ピンバック: 【OpenCV2.3】サンプルプログラム(C言語版) | イメージングソリューション