ホームページ > バックエンド開発 > PHPチュートリアル > OpenCV_PHPチュートリアルに基づくPHP画像顔認識技術

OpenCV_PHPチュートリアルに基づくPHP画像顔認識技術

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-21 15:44:18
オリジナル
1371 人が閲覧しました

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 の長さと幅のパラメーターを含む四角形パラメーターのみを返すためです。以下は私のアプリケーションのデモです


コードをコピーします コードは次のとおりです:
if($_FILES){
$img = $_FILES['pic']['tmp_name '];
$arr = face_detect($img, 'haarcascade_frontalface_alt2.xml');
//$arr1 = face_detect($img, 'haarcascade_frontalface_alt_tree.xml');
if(is_array($arr1)) ($arr, $arr1);
else $all = $arr;
$im = new ImagickDraw();
//$borderColor = new ImagickPixel('red') );
//$draw->setFillAlpha(0.0);
//$draw->setStrokeWidth ($all); ){
foreach ($all as $v){
$im_cl = $im->clone();
$im_cl->cropImage($v['w'],$v['h'],$ v['x '],$v['y']);
$im_cl->swirlImage(60);
$im->compositeImage( $im_cl, Imagick::COMPOSITE_OVER , $v['x'] , $v[ 'y'] );
//$draw->rectangle($v['x'],$v['y'],$v['x']+$v['w' ],$v ['y']+$v['h']);
//$im->drawimage($draw)
}
}
header( “Content-Type: image/png” ) ;
echo $ im;
?>

顔認識テスト: jpg、png のみをサポートします
画像をアップロードします "送信" 値="アップロード">


参考文献:


http://www.xarg.org/2008/07/face-detection-with-php/


http://www.opencv.org.cn/index.php/Homepage


http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/index.html

http://www.bkjia.com/PHPjc/320585.html
www.bkjia.com
tru​​ehttp://www.bkjia.com/PHPjc/320585.html
技術記事

openCV は、C/C++ で開発されたオープン ソースのコンピュータ グラフィックス ライブラリであり、非常に強力で、完全な研究資料が含まれています。この記事の焦点は、php を使用してローカル関数を呼び出す方法を紹介することです。顔...

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート