Macプラットフォーム上OpenCV開発環境構築
6222 ワード
今日のほとんどの時間はMac OS X上でOpenCVプロジェクトの開発をどのように行うかを考えています.試した開発ツールはXcode(バージョン4.6.1)とEclipseで、使用するOpenCVバージョンは2.4.6です.
OpenCV関連ヘッダファイルおよびダイナミックライブラリのみが必要な場合は、直接
CMakeをインストールするにはMacPortsを使うこともできるし、Homebrewを使うこともできます.もし以前に両方をインストールしたことがあれば、それを使ってインストールしましょう.私はHomebrewを使っています.Homebrewを使うことをお勧めします.本当の「醸造」は、次のようにコマンドされています.
OpenCVダウンロードアドレス:http://sourceforge.net/projects/opencvlibrary/
現在の最新バージョンは2.4.8で、私は2.4.6を使用しています.ダウンロードして解凍し、次のコードを実行します.
[完了後、
[注1:不要になった場合、OpenCVをアンインストールするには、
[注2:OpenCVをデフォルトの
その他の参考内容:
Building OpenCV from Source Using CMake, Using the Command Line
Installing OpenCV
1.Open Xcode, choose
2.Name it and select
3.Click on your project from the left menu. Click the
4.Click on your project from the left menu.
5.Select the folder (group) you just labeled,
6.Select both of these files,
7.You must include this line of code in the beginning of your main.cpp file:
mainを変更できます.cpp、コードは以下の通りで、実行結果は指定された画像を表示します.
その他の参考内容:
C++ linking error after upgrading to Mac OS X 10.9/Xcode 5.0.1
MathLink linking error after OS X 10.9 (Mavericks) upgrade
Eclipse開発を使用する場合は、次の手順に従います.
1.通常の手順に従い、Eclipseを使用して
2.工事名を右クリックし、
3.
4.
5.
opencv_core opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_features2d opencv_calib3d opencv_objdetect opencv_contrib opencv_legacy opencv_flann
6.プロジェクトを再構築すればよい.
問題が発生した場合は、コードに追加されていないライブラリファイルが含まれているかどうかを確認してから、他の問題があるかどうかを確認します.Macプラットフォームの場合は、次の質問
詳細については、以下を参照してください.
http://blog.sciencenet.cn/blog-702148-657754.html
5.オープンソース項目を読む
オープンソースプロジェクトMastering OpenCV with Practical Computer Vision Projectsのコードを読み、第8章Face Recognition using Eigenfaces or Fisherfacesを例に
次のようなshellを作成します(
OpenCV関連ヘッダファイルおよびダイナミックライブラリのみが必要な場合は、直接
brew install opencv
(Homebrewがインストールされている場合)を実行し、できない場合は、次のOpenCVソースコードコンパイルインストール手順を参照してください.1.CMakeのインストール
CMakeをインストールするにはMacPortsを使うこともできるし、Homebrewを使うこともできます.もし以前に両方をインストールしたことがあれば、それを使ってインストールしましょう.私はHomebrewを使っています.Homebrewを使うことをお勧めします.本当の「醸造」は、次のようにコマンドされています.
sudo port install cmake //macports
sudo brew install cmake //homebrew
2.OpenCVのコンパイル
OpenCVダウンロードアドレス:http://sourceforge.net/projects/opencvlibrary/
現在の最新バージョンは2.4.8で、私は2.4.6を使用しています.ダウンロードして解凍し、次のコードを実行します.
cd
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
[完了後、
/usr/local/include
ディレクトリの下にopencv
とopencv2
の2つのディレクトリがあり、/usr/local/lib
ディレクトリの下にはopencv
関連のダイナミックライブラリがたくさんあります.例えば、libopencv_core.dylib
など、/usr/local
ディレクトリの下に保存されている他のいくつかのファイルがあります.][注1:不要になった場合、OpenCVをアンインストールするには、
release
ディレクトリに戻り、sudo make uninstall
を実行し、/usr/local
のOpenCVに関連するディレクトリとファイルを手動で削除することができます][注2:OpenCVをデフォルトの
/usr/local/
ディレクトリにインストールしたくない場合は、例えばHomebrewでopencv部分のエラーを防止し、Homebrewでopencvを正常にインストールできない場合は、opencvを別の場所にインストールすることを考慮してCMAKE_INSTALL_PREFIX=/usr/local
を修正すればよいが、Eclipseの項目で問題が発生する可能性があり、詳細は後述する]その他の参考内容:
Building OpenCV from Source Using CMake, Using the Command Line
Installing OpenCV
3.XcodeによるOpenCVプロジェクト開発
1.Open Xcode, choose
New -> New Project -> Command Line Tool
2.Name it and select
C++
for type 3.Click on your project from the left menu. Click the
build settings
tab from the top. Filter all. Scroll to Search Paths
. Under header search paths
, for debug and release, set the path to /usr/local/include
. Under library search paths
, set the path to $(PROJECT_DIR)
. Finally, check if C++ standard library
is libstdc++
or not, if not, change it to this! 4.Click on your project from the left menu.
File->New->New Group
, Name the group OpenCV Frameworks
. 5.Select the folder (group) you just labeled,
OpenCV Frameworks
in the left menu. Go to File -> add Files
, Type /
, which will allow you to manually go to a folder. Go to -> /usr/local/lib
6.Select both of these files,
libopencv_core.dylib
, libopencv_highgui.dylib
, and click Add
. (you may need to add other library files from this folder to run other code.) 7.You must include this line of code in the beginning of your main.cpp file:
#include
mainを変更できます.cpp、コードは以下の通りで、実行結果は指定された画像を表示します.
#include
using namespace cv;
int main(int argc, char** argv) {
Mat image;
image = imread("/Users/hujiawei/Pictures/others/other_naicha/naicha.jpg", 1);
namedWindow("Display Image", WINDOW_AUTOSIZE);
imshow("Display Image", image);
waitKey(0);
return 0;
}
その他の参考内容:
C++ linking error after upgrading to Mac OS X 10.9/Xcode 5.0.1
MathLink linking error after OS X 10.9 (Mavericks) upgrade
4.EclipseによるOpenCVプロジェクト開発
Eclipse開発を使用する場合は、次の手順に従います.
1.通常の手順に従い、Eclipseを使用して
Mac C++
プロジェクトを構築し、cppファイルを含む2.工事名を右クリックし、
Properties
を選択し、属性配置ページで選択し、C/C++ Build
をクリックし、ドロップダウンオプションでSettings
を選択する.右側のタブでTool Settings
を選択します.3.
GCC C++ Compiler
オプションリストでIncludes
を選択し、Include paths(-l)
にインストールされたopencvのヘッダファイル格納ディレクトリを追加する:/usr/local/include/
[opencvヘッダファイルを格納するディレクトリ、自分で状況を見て決める]4.
MacOS X C++Linker
オプションリストでLibrary
を選択し、Library search path (-L)
にインストールされたopencv dylibファイル格納ディレクトリを追加:/usr/local/lib/
[私のテストではこのディレクトリしかありません!他のディレクトリはそのサブディレクトリでもだめです!他のパスではコピーしてもいいです!]5.
MacOS X C++Linker
オプションリストでLibrary
を選択し、Libraries(-l)
で+
番をクリックし、使用するlibファイルを追加します(通常、最初の3つを使用します.接頭辞lib
は含まれません.バージョン番号を追加できます).opencv_core opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_features2d opencv_calib3d opencv_objdetect opencv_contrib opencv_legacy opencv_flann
6.プロジェクトを再構築すればよい.
問題が発生した場合は、コードに追加されていないライブラリファイルが含まれているかどうかを確認してから、他の問題があるかどうかを確認します.Macプラットフォームの場合は、次の質問
ld: symbol(s) not found for architecture x86_64
の説明を参照してください.There are two implementations of the standard C++ library available on OS X: libstdc++ and libc++. They are not binary compatible and libMLi3 requires libstdc++.
On 10.8 and earlier libstdc++ is chosen by default, on 10.9 libc++ is chosen by default. To ensure compatibility with libMLi3, we need to choose libstdc++ manually.
To do this, add -stdlib=libstdc++ to the linking command.
詳細については、以下を参照してください.
http://blog.sciencenet.cn/blog-702148-657754.html
5.オープンソース項目を読む
オープンソースプロジェクトMastering OpenCV with Practical Computer Vision Projectsのコードを読み、第8章Face Recognition using Eigenfaces or Fisherfacesを例に
次のようなshellを作成します(
ld: symbol(s) not found for architecture x86_64
から修正されました).README.txt
はOpenCVソースコードをコンパイルしたフォルダ(上のreleaseディレクトリなど)で、このshellを実行するとXcodeプロジェクトが得られます.もちろん、このプロジェクトを開いた後、対応する配置を変更します.export OpenCV_DIR="/Volumes/hujiawei/Users/hujiawei/Android/opencv-2.4.6.1/build"
mkdir build
cd build
cp $OpenCV_DIR/../data/lbpcascades/lbpcascade_frontalface.xml .
cp $OpenCV_DIR/../data/haarcascades/haarcascade_eye.xml .
cp $OpenCV_DIR/../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml .
cmake -G Xcode -D OpenCV_DIR=$OpenCV_DIR ..