LionにOpenCV 2.3.1aをインストールした

MacPortsOpenCV 2.3.1aに対応したので、2.2からバージョンアップした。

Macの環境は下記の通り。

インストールは、いつものようにコマンド一発だ。

$ sudo port upgrade opencv

アップデート中に、既存のOpenCV 2.2を非アクティブにしろというエラーメッセージが出た。

--->  Computing dependencies for opencv
--->  Fetching archive for opencv
--->  Attempting to fetch opencv-2.3.1a_0.darwin_11.x86_64.tgz from http://packages.macports.org/opencv
--->  Fetching opencv
--->  Attempting to fetch OpenCV-2.3.1a.tar.bz2 from http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1
--->  Verifying checksum(s) for opencv
--->  Extracting opencv
--->  Applying patches to opencv
--->  Configuring opencv
--->  Building opencv
Error: opencv 2.3.1a cannot be built while opencv 2.2.0 is installed and active.
Error: Please deactivate opencv 2.2.0 first.
Error: Target org.macports.build returned: incompatible opencv version active
Log for opencv is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_opencv/opencv/main.log

指示に従って一旦非アクティブにしてから、再度インストール。

$ sudo port deactivate opencv
--->  Deactivating opencv @2.2.0_0
$ sudo port upgrade opencv

ところが今度はxorg-libxcbのビルドがなかなか終わらない。仕方なく、一旦強制終了してから、再度インストールしたところ、今度は上手くいった。xorg-libxcbに問題があるのかも知れない。(良くワカラナイ)

インストールが終わったので、定番の顔認識をテストしたところ、正常に動作した。

$ cd /opt/local/share/opencv/c/
$ sudo ./build_all.sh 
$ ./facedetect --cascade=../../haarcascades/haarcascade_frontalface_default.xml 

また、物体トラッキングのlkdemoも正常に動作した。

$ cd /opt/local/share/opencv/c/
$ sudo ./build_all.sh 
$ ./lkdemo

OpenCV 2.2から2.3への変更点については、下記の情報が詳しい。



関連