MacOSX(Xcode)でOpenCV開発
ソースからCMakeでのビルドなど、色々試したのですが、結局ここに行きつきました。MacPortsが必要です。
それから、最新(4.4以降?)のXcodeにはコマンドラインツールの追加インストールが必要です。メニューから以下のように辿ってダウンロードを実行して下さい。
Xcode - Preferences - Downloads - Command Line Tools
上記の準備が出来たらいよいよOpenCVのインストールです。
$ sudo port self update
$ sudo port install opencv
…これだけ。今までの苦労は一体何だったのでしょうか。MacPortsを食わず嫌いするんじゃなかったと後悔。
次にXcodeでプロジェクトを作成します。
New Project.. - OS X Application - Command Line Tool (タイプは「C++」でも大丈夫だと思いますが、今回「C」を選択しました)
ヘッダファイルの探索先を追加します。
TARGETS - Build Settings
Header Search Paths = /opt/local/include
ライブラリ(フレームワーク?)を追加します。新規に「Frameworks」というグループを作成し、以下のファイルを追加します(これは必要に応じて増やして下さい)。
libopencv_core.2.4.3.dylib
libopencv_highgui.2.4.3.dylib
libopencv_imgproc.2.4.3.dylib
main.cを編集して、OpenCVのコードを書いてみます。以下の例は、デスクトップに置かれたsample.jpgという画像ファイルを読み込んで5秒間表示して終了するプログラムです。適当な画像を準備して下さい。
#include <stdio.h>
#include "opencv2/core/core_c.h"
#include "opencv2/highgui/highgui_c.h"
int main(int argc, const char * argv[])
{
printf("Hello, OpenCV! The window will disappear after 5sec.\n");
char *file = getenv("HOME");
strcat(file, "/Desktop/sample.jpg");
IplImage *image = cvLoadImage(file, 1);
if(!image){
printf("image not found!\n");
return 1;
}
cvNamedWindow("My Picture",1);
cvShowImage("My Picture",image);
cvWaitKey(5000);
cvDestroyAllWindows();
return 0;
}
C++に不慣れなものでCスタイルで記述していますが、ウェブで検索すると、C++で書かれたコードの方が(特に新しいものに)多いような気がします。C++も避けては通れないのでしょうか…。
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について