MAC XcodeでOpenCVをインストールする

3435 ワード

MAC XcodeでOpenCVをインストールする
まず、実装環境MACOSX 10について説明する.11,インストールバージョンはOpenCV 2.4.13、Xcodeのバージョンは7.3.1です.
一、Homebrewをインストールする
HomebrewはUbuntuのapt-get,Fedoraのyumに似ており,簡単に言えばソフトウェアのインストールを容易にするために生まれた.Homebrew公式サイトを開くhttp://brew.sh/index_zh-cn.html、homebrewをインストールするrubyコマンドを見つけます.
ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"
 
 
二、homebrewを利用してcmakeをインストールする
brew updateを入力し、brew upgradeを入力します.その後brew install cmakeと入力し、しばらく待ってからcmakeがインストールされます.
 
三、OpenCV公式サイトにMAC/LinuxバージョンのOpenCVをダウンロードする
OpenCVダウンロードアドレス:http://opencv.org/downloads.html
現在の最新バージョンは2.4.13で、ダウンロード後に解凍し、端末で次のコードを実行します.
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とopencv 2の2つのディレクトリがあり、/usr/local/libディレクトリの下にはlibopencv_core.dylibなどのopencv関連のダイナミックライブラリがたくさんあり、他にもいくつかのファイルが/usr/localディレクトリの下に保存されています]
[注1:不要になった場合、OpenCVをアンインストールするにはreleaseディレクトリに戻り、sudomake 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
四、Xcodeを配置し、OpenCVのテスト用例を作成する
Xcodeを開き、command lineプロジェクトを新規作成します.
エンジニアリング名TestOpenCVDemo、言語選択C++に注意. 
これでC++のHelloWorldができ、コンパイルは正常に動作するはずです.次にxcodeを構成してからコードを書きます.
一番左にプロジェクトを選択し、右にTargetsを選択し、BuildSettingsの下に右の検索ボックスにsearchを入力すると、すぐにSearchPaths設定項目が見つかります.Header Search Pathsに入力:/usr/local/include Library Search Pathsに入力:/usr/local/lib
次にBuild PhasesでLink BinaryWith Librariesを見つけて+番号をクリックします
add otherを選択し、/キーを押してlibのパス/usr/local/libを入力し、go:
 
そしてOpenCVのライブラリを選択して、どれでどれを追加しても、すべて追加する必要はありません.最も基本的ないくつかを追加します.
 
libopencv_core.2.4.13.dylib
libopencv_highgui.2.4.13.dylib 
libopencv_imgproc.2.4.13.dylib
libopencv_ml.2.4.13.dylib 
  
commandを押して複数選択を実現できます.上記の4つの最もよく使われるテストコードを追加すれば、今回のテストコードに適しています.
メールでcppに以下の内容を入力し、1枚の写真を表示し、階調化したものを表示します.
#include 
#include 
#include 
using namespace std;
using namespace cv;

int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Test OpenCV!
"; char buffer[256]; char* p_cwd = getcwd(buffer, sizeof(buffer)); string path ; if (p_cwd) { path = p_cwd; } else{ std::cout << "Path Error!
"; return 0; } path += "/Test.jpg"; //string path = "/Volumes/Data/AutumnView.jpg"; Mat image = imread(path); namedWindow("Test"); imshow("Test", image); Mat gray; cvtColor(image, gray, COLOR_RGBA2GRAY); namedWindow("gray"); imshow("gray", gray); waitKey(0); return 0; }

実行結果は次のとおりです.
 
これで大功を成し遂げた.
 
参照先:
1.    http://blog.csdn.net/yanzi1225627/article/details/42113661
2.   https://segmentfault.com/a/1190000000711132
3.   http://wuzhaoxi1992511.blog.163.com/blog/static/18375811820132213544889/