トップ > ラボブログ

ラボブログ

« ローンチウォッチャー&15pub での Web への見解 | メイン | リニューアルしたマクドナルドのサイトはこれからの企業サイトのお手本? »

PHP から OpenCV を使ってみました

あとで読む

スパイスラボ神部です。


このところテキストネタエントリばかりだったので久々にコードネタで。


今までもっぱら C++ から制御していた OpenCV ですが、PHP の拡張機能(バインディング?)として OpenCV を制御する関数を書いてくださっている方がいましたので、こちらを実際に利用するまでの流れを簡単にまとめておきたいとおもいます。


まず下ごしらえとしてはこちらのエントリ。


-PHPで顔検出の続き ネットに花を咲かせましょう。 会社作りました。

pecl-gen -f face_detect.xml

cd face_detect

phpize

./configure

make

make install

おー、すごい。このやりかた(codegen -> phpize という流れ?)は優秀ですね!XML の内部に直接 C++ のコードを書いてしまうことで、簡単に拡張機能が作れてしまう。これはちょっとエポックメイキングに感じますが、良くある手法なのでしょうか? Mozilla 系プロダクトもこういう感じのソース埋め込みしているのあったりするのかなど、ちょっと気になります。


※pecl-gen を使うには pear install -a codegen_pecl


※phpize を使うには yum install php-devel


php.ini の設定はこちらが詳しい。


-OpenCV の PHP バインディングを書いてみた - font-family: monospace


extension=opencv.so


※今回の場合は次のような感じかも。


extension=face_detect.so


もし、今回はcodegen を使う必要がありましたが、そちらや phpize の入れ方はPHPで顔検出の続き ネットに花を咲かせましょう。 会社作りました。Cases and Materials:yumでsqliteのインストールなどに書かれています。


それはさておき、いざコンパイルとなると厳しすぎるバージョンチェックのため動かない時があります。そんなときはこちらを参考に必要箇所を差し替えてみましょう。


-PHPのエクステンションを作ってみる - ぱせらんメモ


つまり例えば、


#if PHP_VERSION_ID < 40000



#if PHP_MAJOR_VERSION < 4


に直すなど。


これをやる必要があるのは、configure ファイルと config.m4 の両方だったりするので要注意です。PHP 5.1 以降でもコンパイル失敗します(参考:実例で学ぶPHP拡張モジュールの作り方:第3回 WEBカメラから画像をキャプチャ|gihyo.jp … 技術評論社


まあ、そんなところでしょうか。とりあえず顔の検出くらいなら、元の記事に書かれているごく短いサンプルコードを書くだけで、ちゃんと配列に検出された顔の位置や大きさを返してくれます。エラーもなくなかなかよい感じに動いてくれています。PHP で値をこねくり回せるとなると、ますます手軽にいろいろなことができそうですね。

 



関連記事



ブックマークに追加する この記事についてTwitterでツイート

トラックバック

このエントリーのトラックバックURL:
http://www.spicebox.jp/cgi-bin/mt/mt-tb.cgi/480

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

mixiアプリ本
4/22発売!

mixiアプリをつくろう!
OpenSocialで学ぶ
ソーシャルアプリ



(株)スパイスボックス
神部 竜二(著)

書籍情報






検索



神部竜二
ブログ執筆者の一人です。ネットの新しい話題や Web まわりのプログラミング、Web 広告について書いていきたいと思います。


About

2008年10月09日 02:16 に投稿されたエントリーのページです。

ひとつ前の投稿は「 ローンチウォッチャー&15pub での Web への見解 」です。

次の投稿は「 リニューアルしたマクドナルドのサイトはこれからの企業サイトのお手本? 」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

SEO ブログパーツ  

+ インデックス数計測 +