四畳間

幼女の備忘録と感想文

XcodeでOpenCVを使えるようにする

最終目的は人によって異なると思うのですが,ひとますmacXcodeOpenCV使えるようにするまでの流れを書きます.

 

世の中には同じような記事がすでに沢山あるのですが,それらを参考にしつつ,結局自分の環境でうまく行った方法を備忘録的にメモしたものが本記事です.

 

Homebrewで必要ライブラリを入れる

OpenCVはHomebrewを使ってインストールします.Homebrew自体が入ってない方はまずはそちらをインストールしてきてください.Homebrewをインストールし終わったら,ターミナルから以下のコマンドでOpenCVおよびcmakeをインストールします.

brew install opencv
brew install -v cmake

で,Homebrewのチェック

brew doctor

OpenCVとcmakeが(正常に)インストールされたか確認.

ls /usr/local/Cellar/

 

f:id:shirashinomiya:20180726070952p:plain
図1 ディレクトリは作成できていますね.

 

Xcodeの設定

Xcodeを起動し,テンプレートを選ぶ画面にてMacOSを選択し,Command Line Toolを選びます.ここから少しややこしいです.

①メニューからBuild Settingを選択
②Allをクリックして全部の設定を表示
③Header Search Pathsを見つける
④Header Search Paths右側の空白にてダブルクリック
⑤+ボタンを押してパス入力画面へ
⑥/usr/local/Cellar/opencv/のさらに下位のincludeのパスを追加
⑦recursiveへと変更

f:id:shirashinomiya:20180726073247p:plain
図2 上記手順でやりましょう

 

次に,ライブラリの追加を行います.もうそろそろ終わりです.

まず,finderで,ライブラリのある場所に行きます.私の環境では下記でした.
/usr/local/Cellar/opencv/3.4.2/lib

初めのうちはよくわからないので,ライブラリ(.dylib)を全て追加しましょう.ということで,エイリアスでない.dylibを全て選択

f:id:shirashinomiya:20180726075303p:plain
図3 エイリアスでない.dylibを全て選択

 

①メニューからBuild Phasesを選択
②Link Binary With Librariesを選び,先ほど選択した.dylibをドラッグアンドドロップで追加

f:id:shirashinomiya:20180726075318p:plain
図4 ライブラリを追加

 

サンプルコードの実行

導入は先ほどまでで終わっているのですが,せっかくなので,動作確認の意味も込めて簡単なプログラムを動かしてみましょう.

 

#include <cv.h>

#include <highgui.h>

#include <opencv2/opencv.hpp>

#include <iostream>

using namespace cv;

 

int main(){

    cv::Mat imMat(256,256, CV_8UC3);

    

    for(int y = 0 ; y < imMat.rows; y++){

        for(int x = 0 ; x < imMat.cols; x++){

            cv::Vec3b &p = imMat.at<cv::Vec3b>( y, x );

            p[ 0 ] = x;   p[ 1 ] = y;   p[ 2 ] = (int)((x+y)/2);

        }

    }

    imshow("openCVTest",imMat);

    waitKey(0);

    return 0;

}

 

 

f:id:shirashinomiya:20180726081916p:plain
図5 画像が出ました