"Chris Powell Ubuntu Tattoo" by Myles Braithwaite
(全然関係ないですが、わざわざ刺青まで彫るなんてよっぽどUbuntuが好きなんですねー)
Ubuntu環境でOpenCVという、画像処理用ライブラリをインストールする際にすんごく苦労しましたので、一応書いておこうと思います。
実は、OpenCVは通常のレポジトリからapt-getでインストールすることができるのですが、それだとビデオ機能が追加されておらず、このままではビデオ機能を使うことが出来ないのです。そのためソースコードを引っ張ってきてconfigure->make->make installの流れでインストールしなければならないのかーめんどくさいなーと思って調べてみたら、どうやらそれ以前にffmpegを追加しなければならないことが判明しまして、しょうがなくffmpegを野良ビルドした後にさあインストールだという感じでmakeしたら、どうしてもcvcap_ffmpeg.cppでエラーが出て止まってしまう。悔しいのでソースコードを書き換えるなりパッチ当てるなりで努力するも、悉くエラーが出て止まってしまうので、さてどうしようか諦めようかとか思っていた最中に、この記事を発見。
Getting video i/o working with opencv and Ubuntu Jaunty (9.04)
要は
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com cafc44ee7f39098ce6ec229cca70e6a9087475a0
で鍵を入手して、/etc/apt/sources.listに
deb http://ppa.launchpad.net/gijzelaar/opencv/ubuntu jaunty main
を追記。リポジトリを追加してインストールするだけでビデオ機能が追加されたOpenCVがインストールできますよという話なのでした(*1)。同じ環境で困っている方は試しにやってみてはいかがでしょうか。
それにしても…
I was disappointed, crying, screaming, running around angry and banging my head against the wall when the video i/o functionality stopped working when I updated to the latest Ubuntu release (Jaunty).本当に自分もそんな気分になりましたよ。本当にOpenCVのビルドには多くの人が苦労されているようで…
余談
一応そんなわけで解決はしたのですが、自分の環境では
#include "highgui.h"
CvCapture *src;
src = cvCreateFileCapture("file.avi");
のようなコードを記述しますと"test.avi"が読み込まれずsrcがNULLになってしまいます。でもなぜかPython上ですと
>>> from opencv import highgui
>>> src = highgui.cvCreateFileCapture("file.avi")
>>> src
<Swig Object of type 'CvCapture *' at 0x9904420>
となって、正常に読み込まれているんですよねー…どうせ遊びにしか使いませんし、python+ctypesの組み合わせでもいいかなとか考えるようになってきましたよ。
*1) 今までのことはすべて無視して大丈夫です。みたいな
1 件のコメント:
Link が消えています :(
コメントを投稿