miyagawanize.pl 試した
YAPC::Asia2009で大うけだった miyagawanize にインスパイアされて、4U - beauty image bookmarking のフィードの画像を取ってきて、根こそぎ美少女を miyagawanize して IRC か twitter にポストするというネタを非同期な感じでやろうとしたけど、なかなか難しかった。
まず普通にスクリプトを動かそうとする。
OpenCV と Imager はけっこうすぐ入ったけど、Image::ObjectDetect がすんなり行ってくれなかった。
Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv' found Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv' found cannot find opencv library. at Makefile.PL line 8. Warning: No success on command[/usr/bin/perl Makefile.PL] JIRO/Image-ObjectDetect-0.11.tar.gz /usr/bin/perl Makefile.PL -- NOT OK
opencv.pc のあるディレクトリをPKG_CONFIG_PATH環境変数に追加しなきゃいけないっぽ。
というわけで、そうする。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
んで、miyagawanize.pl をそのまま試すんだけど、動かない。
jpeg 画像に purple thing を当てようとしていたのだけど、実はうちのサーバでは jpeg 画像がサポートできない状態だった。
(エラーが出ていたところ(can not call rubthrough method)と実際の原因(read method)が違っていたが、まあ、それはよくあること)
んで、以下のようにライブラリを追加して、Imager を入れなおした。
# apt-get install libjpeg libjpeg-devel libjpeg6a
# cpan -fi Imager
これで、無事動いた。
Perl で他言語のライブラリを使ってる系のモジュールとか、こういうとこ結構難しいですよね。
まあそんでいろいろ遊んでいたら、OpenCVの学習が大変そうなのでこのネタは終了。
AnyEvent::Intro やってたら時間が来たのでおわり。