Xcode のバージョン

とりあえず自分の Xcode のバージョンは 3.2.3。

gcc はこんな感じ。

MacBookAir:~ paraches$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~38/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)
MacBookAir:~ paraches$

cmake をインストール

次に cmake をインストール。
ココから MacOS X バージョンをダウンロードしてインストールする。今回ダウンロードしたバージョンは 2.8.2。
インストールは普通にマウントされた .pkg をダブルクリックでインストーラが起動する。
最後に「Install Command Line Tools」というダイアログが表示されるので、Install Folder は /usr/bin そのままで「Install Command Line Links」をクリックしてリンクを作成しておきます。

pkg-config をインストール

次は pkg-config をインストール。
コレをダウンロードして展開。

MacBookAir:opencv paraches$ tar xvf pkg-config-0.23.tar
<長いので省略>
x pkg-config-0.23/acconfig.h
MacBookAir:opencv paraches$ cd pkg-config-0.23

できた pkg-config-0.23 フォルダに入って、configure するのだけど、ここで prefix を /usr に指定。

MacBookAir:opencv paraches$ cd pkg-config-0.23
MacBookAir:pkg-config-0.23 paraches$ ./configure --prefix=/usr
checking for a BSD-compatible install... /usr/bin/install -c
<長いので省略>
creating glibconfig.h
config.status: executing default commands
MacBookAir:pkg-config-0.23 paraches$ make

次に make してインストール。

MacBookAir:pkg-config-0.23 paraches$ make
make  all-recursive
<長いので省略>
gcc -g -Wall -O2 -g -O2 -o pkg-config pkg.o partial-glib.o parse.o main.o findme.o popt.o poptconfig.o popthelp.o poptparse.o  glib-1.2.10/.libs/libglib.a  
MacBookAir:pkg-config-0.23 paraches$ sudo make install
<長いので省略>
MacBookAir:pkg-config-0.23 paraches$ cd ..

これでインストール完了。

ffmpeg をインストール

次は ffmpeg
これはいつも面倒なことになるから嫌なんだけど…。
ココからダウンロードして展開。
ダウンロードのページには 0.5.2 と 0.6 があったので、0.5.2 をダウンロードしてトライ。

MacBookAir:opencv paraches$ tar xjf ffmpeg-0.5.2.tar.bz2 

.configure は arch=x86_x64 と prefix のオプションつけて。

MacBookAir:ffmpeg-0.5.2 paraches$ ./configure --arch=x86_x64 --prefix=/usr
<長いので省略>
Creating config.mak and config.h...
MacBookAir:ffmpeg-0.5.2 paraches$

後は make してインストール。

MacBookAir:ffmpeg-0.5.2 paraches$ make
gcc -fPIC -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/paraches/myTest/opencv/ffmpeg-0.5.2" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno `freetype-config --cflags` -MM vhook/drawtext.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*drawtext\.o,vhook/drawtext.o," > vhook/drawtext.d
<長いので省略>
rm doc/ffserver.pod doc/ffmpeg.pod doc/ffplay.pod
MacBookAir:ffmpeg-0.5.2 paraches$ sudo make install
<長いので省略>
MacBookAir:ffmpeg-0.5.2 paraches$

make にはかなり時間がかかったけど無事終了。インストールも無事終了。

OpenCV 2.1 をインストール

やっと準備ができたので、最後に OpenCV 2.1 のインストール。
ココからダウンロード。ダウンロードするのは OpenCV-2.1.0.tar.bz2。

ダウンロードしたら展開。

MacBookAir:opencv paraches$ tar xjf OpenCV-2.1.0.tar.bz2 
MacBookAir:opencv paraches$ cd OpenCV-2.1.0

次にオプション付けて cmake をする。

MacBookAir:OpenCV-2.1.0 paraches$ cmake -DCMAKE_INSTALL_PREFIX=/usr .
-- The C compiler identification is GNU
<長いので省略>
-- Build files have been written to: /Users/paraches/myTest/opencv/OpenCV-2.1.0
MacBookAir:OpenCV-2.1.0 paraches$

たぶん、無事終了。

次は make の番。

MacBookAir:OpenCV-2.1.0 paraches$ make
Scanning dependencies of target zlib
<長いので省略>
Linking CXX shared library ../../lib/cv.so
[100%] Built target cvpy
MacBookAir:OpenCV-2.1.0 paraches$ cd samples/

(なんか make がカラフルでびっくりした!インストールし直した Snow Leopard のターミナルの設定を変更したから?)
か〜な〜り、時間がかかったけど、無事?終了。
最後に sudo make install でインストール。

MacBookAir:OpenCV-2.1.0 paraches$ sudo make install
[  2%] Built target zlib
<長いので省略>
-- Installing: /usr/lib/python2.6/site-packages/cv.so
MacBookAir:OpenCV-2.1.0 paraches$

これで無事 OpenCV 2.1 のインストールは終了。

サンプルをビルド

最後に C のサンプルをビルドして遊んでみる。
C のサンプルがある場所へ移動したら、まずはビルド用のスクリプトを実行できるようにする。

MacBookAir:OpenCV-2.1.0 paraches$ cd samples/c
MacBookAir:c paraches$ ls -al build_all.sh 
-rw-r--r--@   1 paraches  staff      446  4  6 10:24 build_all.sh
MacBookAir:c paraches$ chmod +x build_all.sh 
MacBookAir:c paraches$ ls -al build_all.sh 
-rwxr-xr-x@ 1 teshi  staff  446  4  6 10:24 build_all.sh
MacBookAir:c paraches$

これで build_all.sh を実行できるようになったのでビルドする。

MacBookAir:c paraches$ ./build_all.sh 
compiling camshiftdemo.c
<長いので省略>
compiling watershed.cpp
MacBookAir:c paraches$

途中、微妙なワーニング?があったけど、無事終了。

とりあえず、OpenCV でいつもの定番? facedetect を起動してみる。

MacBookAir:c paraches$ ./facedetect
detection time = 478.019 ms
detection time = 467.002 ms
detection time = 469.704 ms
…

できた!!!
ちゃんと MacBook Air のカメラから読み込んで顔を見つけたよ〜。