openCV は、C/C++ で開発されたオープン ソースのコンピュータ グラフィックス ライブラリであり、非常に強力で、完全な研究資料が含まれています。この記事の焦点は、php を使用してローカル関数を呼び出す方法を紹介することです。顔検出テクノロジーは、openCV のアプリケーション ブランチにすぎません。
1. インストール
ソースコードから動的 so ファイルにコンパイルします。
1.1. OpenCV をインストールする (OpenCV 1.0.0)
ダウンロード アドレス: http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948
#tar xvzf OpenCV-1.0.0.tar.gz
#cd opencv-1.0.0
#./configure
#make
#make install
#make check (すべてが正しくインストールされているかどうかを確認する)
ヒント: インストール パスを指定しないでください。指定しない場合、facedetect は OpenCV パスを見つけることができません。後でコンパイルするとき。
1.2 Facedetect をインストールする
ダウンロードアドレス http://www.xarg.org/download/facedetect-1.0.0.tar.gz
#tar xzvf Facedetect-1.0.0.tar.gz
#cd Facedetect-1.0.0
#phpize && ./configure && make && make install
コンパイル後、facedetect.so ファイルの場所を指定するよう求められます。
最後にphp.iniに
extension=facedetect.soを追加することを確認し、Apacheを再起動します。
2. 関数の使用方法
phpinfo()にfacedetectモジュールがあるかどうかを確認します。
openCV ソースコード/data/haarcascades/ からすべての xml ファイルを抽出し、php 実行ディレクトリに配置します
//顔の形状がいくつあるかを確認します
var_dump(face_count('party.jpeg', haarcascade_frontalface_alt.xml')) ;
/ / 写真内の顔の形状の位置パラメータを返します (複数ある場合は配列を返します)
print_r($arr); 3. imagick と組み合わせて
を適用して画像を変換するアプリケーションを作成します。 face_detect は、x、y 座標、w、h の長さと幅のパラメーターを含む四角形パラメーターのみを返すためです。以下は私のアプリケーションのデモです