Snow LeopardにOpenCV 2.1をインストールした
MacPortsがOpenCV 2.1に対応したので、Snow Leopardにインストールしてみた。
- #24503 (Upgrade opencv from 2.0.0 to 2.1.0) – MacPorts
- Portfile in trunk/dports/graphics/opencv – MacPorts
環境は下記の通り。
インストールは、いつものようにコマンド一発だ。
$ sudo port install opencv
マシンによって差異があるようで上記のコマンドですんなりとビルド、インストールする環境もあれば、ffmpegのビルドエラーが発生する環境もあった。
---> Fetching ffmpeg ---> Attempting to fetch ffmpeg-0.6.tar.bz2 from http://distfiles.macports.org/ffmpeg ---> Verifying checksum(s) for ffmpeg ---> Extracting ffmpeg ---> Applying patches to ffmpeg ---> Configuring ffmpeg ---> Building ffmpeg Error: Target org.macports.build returned: shell command failed Log for ffmpeg is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/main.log Error: The following dependencies failed to build: ffmpeg libdc1394 liboil Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>
MacPortsには既にチケットが上がっていた。
チケットはまだオープン状態だが、コメントにて解決策が示されている。
I ran into the "library not found for -lavutil" issue during a build on a single-core host, while the same version of the ffmpeg port had just built successfully on a 4-core host. I was able to fix it by forcing a parallel make on the single-core host, editing ffmpeg/Portfile and changing the build.cmd to "gmake -j2".
#25926 (ffmpeg v 0.6 fail on build) – MacPorts
アドバイスに従って/opt/local/var/macports/sources/rsync.macports.org/release/ports/multimedia/ffmpeg/Portfile を開き、下記のように"-j2"を追加した。
build.cmd gmake -j2
この状態ならffmpegは正常にビルド、インストール出来たので、引き続きOpenCVもインストールした。こちらも正常に完了。
OpenCVには、C言語のサンプルが含まれているのでそのままビルドしてみる。
$ cd /opt/local/share/opencv/samples/c $ sudo chmod +x build_all.sh $ sudo ./build_all.sh $ ./facedetect --cascade=../../haarcascades/haarcascade_frontalface_default.xml
お馴染みの顔認識処理も正常に動作した。(終了時にSegmentation faultが発生するけど)
関連