
最近、OpenCVで顔検出するのが流行ってるっぽい。
rubyとかperlとかだと、モジュールを作ってる人がいて、
rubyやperlからOpenCVを簡単に使えそうなのに、
PHPだけ出来ないのは、あんまりずるいので自分で作った。
使い方は、
OpenCVをインストールする。
./configure
make
make install
これをダウンロードして解凍
face_detect-0.0.1.tar.gz
tar xvfz face_detect-0.0.1.tar.gz
cd face_detect-0.0.1
phpize
./configure
make
make install
あとは、php.iniに
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
extension=face_detect.so
見たいな感じに書く。
これを入れると、
face_detect
という関数が使えるようになる。
$picture = "picture.jpg";
$cascade = "/usr/local/share/opencv/haarcascades/haarcascade_frontalface_alt.xml";
//顔の位置を検出
$faces = face_detect($picture ,$cascade);
とすると、
$facesに見つけた顔の数だけ配列で、
帰って来きます。
なお、使用したPHPは、
5.2.1です。
ちなみに、phpの拡張は初めて作りました。
動くかどうかとても不安です。動いた方、教えてくれると嬉しいです。

