OSX で OpenCV を試してみる
とりあえず、【コラム】OS X ハッキング! OpenCV+iSightで顔を認識? を参考に OpenCV を試してみることにする。
必要なライブラリーのインストール
OpenCV のインストールに必要なライブラリは、Fink ではなく MacPorts を使ってインストールする(MacPorts の使い方は、HowTo/UseMacPorts を参照)。
MacPorts で OpenCV をインストール(失敗)
$ port info opencv opencv 1.0.0, graphics/opencv (Variants: universal) http://www.intel.com/technology/computing/opencv/ opencv is a library that is mainly aimed at real time computer vision. Some example areas would be Human-Computer Interaction (HCI), Object Identification, Segmentation and Recognition, Face Recognition, Gesture Recognition, Motion Tracking, Ego Motion, Motion Understanding, Structure From Motion (SFM), and Mobile Robotics. Library Dependencies: gtk2, zlib, jpeg, libpng, tiff Platforms: darwin Maintainers: stante@gmail.com
ということなので、MacPorts からでも OpenCV をインストールできそう。その方が簡単そうなので、それでやってみる。
が、依存関係のリストの先頭にある gtk2 というライブラリーが重そう。インストールに結構時間がかかる。
$ port info gtk2 gtk2 2.12.9, x11/gtk2 (Variants: universal, darwin_6, darwin_7, quartz, x11) http://www.gtk.org/ This is GTK+ version 2.x. GTK+, which stands for Gimp ToolKit, is a library for creating GUIs for the X Windows System. Build Dependencies: gtk-doc, pkgconfig Library Dependencies: cairo, fontconfig, freetype, glib2, jpeg, tiff, libiconv, libpng, atk, pango, gettext, render, zlib, xrender, xorg Runtime Dependencies: shared-mime-info Platforms: darwin Maintainers: nox@macports.org openmaintainer@macports.org
普通に configure, make, make install で入れれば、この重いやつを入れずに済んだのかも・・?
と思いつつ見守っていると、gtk2 のインストール中にエラーが発生。XFree86 の Fetch に失敗。すでに X11 がインストールされているのが原因らしい。
---> Fetching XFree86 Error: Target org.macports.fetch returned: You have an Apple X11SDK installation already. MacPorts will not overwrite it. If you wish to use Apple X11, install it from your Mac OS X install disc. If you really want to use XFree86 instead, please move it aside first : sudo mv /usr/X11R6 /usr/X11R6.apple Error: The following dependencies failed to build: gtk2 cairo xrender XFree86 gtk-doc docbook-xml-4.1.2 xmlcatmgr docbook-xsl gnome-doc-utils docbook-xml docbook-xml-4.2 docbook-xml-4.3 docbook-xml-4.4 docbook-xml-4.5 iso-codes py25-hashlib python25 libxml2 libxslt py25-gobject py25-libxml2 py25-numeric rarian getopt intltool gnome-common jpeg pango Xft2 xorg-xproto xorg-util-macros shared-mime-info tiff xorg Error: Status 1 encountered during processing.
OpenCV をソースからインストール
MacPorts で OpenCV を入れるのはあきらめて、『OS X ハッキング』の記事の通りに進めてみよう。
OpenCV を入れる前に、jpeg, libpng, tiff を MacPorts でインストールしておく。
※インストールについては、OpenCVメモも参考になる。
Fink ではなく MacPorts を使ってライブラリをインストールしたので、/sw ではなく /opt/local にインストールされている。というわけで、./configure コマンドでもオプションのパスを合わせる必要がある。
$ ./configure --with-python LDFLAGS=-L/opt/local/lib CPPFLAGS=-I/opt/local/include
結果。
General configuration ================================================ Compiler: g++ CXXFLAGS: -Wall -fno-rtti -pipe -O3 -g -mcpu=G3 -mtune=G5 -fomit-frame-pointer Install path: /usr/local HighGUI configuration ================================================ Windowing system -------------- Use Carbon / Mac OS X: yes Use gtk+ 2.x: no Use gthread: no Image I/O --------------------- Use libjpeg: yes Use zlib: yes Use libpng: yes Use libtiff: yes Use libjasper: no Use libIlmImf: no Video I/O --------------------- Use QuickTime / Mac OS X: yes Use xine: no Use ffmpeg: no Use dc1394 & raw1394: no Use v4l: no Use v4l2: no Wrappers for other languages ========================================= SWIG Python yes Additional build settings ============================================ Build demo apps yes
make、make install でインストールを実行。
$ make $ sudo make install
パスの追加とサンプルのビルド(?)。
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig $ cd samples/c $ sh build_all.sh
これでインストール完了。(^_^
サンプルの動作テスト
やはり facedetect を試したい。
./facedetect --cascade='../../data/haarcascades/haarcascade_frontalface_default.xml'
一応成功したが、ディテクションに平均 700 ミリ秒くらいかかってしまう(Powerbook G4 1.67GHz)。これでは実用にならないな〜。