LoginSignup
0
0

More than 3 years have passed since last update.

Xcode8でOpenCVを動かしてみる

Last updated at Posted at 2020-01-11

※2016年12月頃のメモです

動作環境

項目 内容
OS macOS Sierra 10.12.1
OpenCV 2.4.13.1
Xcode 8.1
言語 C++

Xcodeでプロジェクトを新規作成する

macOSへのOpenCVを導入し、Xcode側でプロジェクトを作成する。

プロジェクトの作成

Xcodeを立ち上げて File > New > Project からプロジェクトを作成。
31035381750_0a71ac7b5b_b.jpg

続いて macOS > Command Line Tool を選択。
30597143923_eb04723d18_b.jpg

次に Project Name などの必要事項を入力。
今回は動作確認なので適当に入力し、言語は C++ を選択。

31035381460_69e60290a5_b.jpg

ソースコードを入力

左側のmain.cppを選択してエディタ画面を開く。
30597143663_0a690830d4_b.jpg

今回はバイラテラルフィルタによる平滑化処理のサンプルコードを動かしてみる。

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main(int argc, char *argv[])
{
    Mat src_img = imread("画像のパスを指定", 1);

    if(src_img.empty()) {
        printf("画像を読み込めませんでした。\n");
        return -1;
    }

    Mat dst_img;

    bilateralFilter(src_img, dst_img, 10, 40, 200);

    imshow("src image", src_img);
    imshow("result", dst_img);

    waitKey(0);
}

Xcode側の設定

これで完了!と言いたいところだが、このままビルドすると以下のような警告が出力される。

'opencv2/core/core.hpp' file not found

XcodeでOpenCVをビルドするためには(NuGetを使わない場合)Visual Studioと同様ヘッダサーチパスとライブラリサーチパスを設定する必要がある。

ヘッダーサーチパスの設定

ヘッダーサーチパスを設定することでコンパイル時にOpenCVのインクルードファイルを参照することができる。
パスを設定するために左側のNavigatorからXcodeのプロジェクト(今回はopencv-sample)を選択。

Build Settings > All > Search Paths > Header search Paths へ移動し、 /usr/local/Cellar/opencvrecursiveで設定。
パスはそれぞれの環境によるが、HomebrewでOpenCVを導入した場合はおそらく上記のパスで問題ないはず。

31035381930_daf22cb3d2_h.jpg

ライブラリサーチパス

リンクするライブラリファイルを指定するためにライブラリサーチパスも設定する。
Build Phases > Link Binary With Librariesから任意のライブラリファイルを追加して設定。
設定にあたってまずはFinderからライブラリを探す。

Finderのタブから移動 > フォルダへ移動を選択し、/usr/local/Cellar/opencv/2.4.13.1/libと入力。
移動したディレクトリから今回は以下の3つのライブラリを選択し、XcodeのLink Binary With Librariesへドラックアンドドロップしてパスを設定。
※OpenCVのバージョンやインストール方法によってパスは適宜変更すること

libopencv_imgproc.2.4.13.dylib
libopencv_highgui.2.4.13.dylib
libopencv_core.2.4.13.dylib

31035381110_8301e94667_b.jpg

Xcodeでビルドする

設定が終わればあとは実行だけ。
今回は先ほどのサンプルコードをビルドしてみる。

30597143263_0224d029f7_b.jpg
右の画像がフィルタをかけた結果。問題なく動作していることを確認。

参考リンク

OpenCV.jp : OpenCV逆引きリファレンス — OpenCV-CookBook
HomebrewとXcode5でつくるOpenCVの環境 – なんてこったいブログ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0