展会信息港展会大全

PHP OpenVC 人脸面部识别
来源:互联网   发布日期:2011-09-19 13:02:36   浏览:28793次  

导读:最近发现很多网站都有一些圈人头像的功能,后来在网上GG了一下,发现是用OpenCV实现的,我也在内部服务器做了一下测试,如果可以实现,步骤如下: 一 安装 1、安...

 

最近发现很多网站都有一些圈人头像的功能,后来在网上GG了一下,发现是用OpenCV实现的,我也在内部服务器做了一下测试,如果可以实现,步骤如下:
一 安装
1、安装opencv
官方网站: (中文版)
具体安装方法可以参考官方网站:
http://www.opencv.org.cn/index.php/%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91
从http://sourceforge.net/projects/opencvlibrary 下载OpenCV源码,下载文件为opencv-1.0.0.tar.gz(如果是其他版本,文件名相应改变,建议下载当时最新的版本)。
#tar zxvf opencv-1.0.0.tar.gz
#cd opencv-1.0.0
#./configure (注:不要加路径)
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no www.phperz.com

... ... phperz.com


General configuration ================================================
Compiler: g++
CXXFLAGS: -Wall -fno-rtti -pipe -O3 -g -march=i686 -ffast-math -fomit-frame-pointer php程序员之家

Install path: /usr/local www.phperz.com

HighGUI configuration ================================================ phperz~com

Windowing system --------------
Use Carbon / Mac OS X: no
Use gtk+ 2.x: yes
Use gthread: yes

www~phperz~com

Image I/O ---------------------
Use libjpeg: yes
Use zlib: yes
Use libpng: yes
Use libtiff: yes
Use libjasper: yes
Use libIlmImf: no php程序员站

Video I/O ---------------------
Use QuickTime / Mac OS X: no
Use xine: no
Use ffmpeg: yes
Use dc1394 & raw1394: yes
Use v4l: yes
Use v4l2: yes php程序员之家

Wrappers for other languages =========================================
SWIG
Python no

phperz.com

Additional build settings ============================================
Build demo apps yes phperz.com

Now run make ...

phperz.com

如果出现上述输出,表明编译OpenCV所需的软件基本已经安装,可以进行下一步。如果提示有需要的软件未安装,请安装后再运行 ./configure 命令,直到提示"Now run make ..."为止。

php程序员站

部分库的说明: libjasper - The JasPer JPEG-2000 runtime library php程序员站

#make
#make install

phperz.com

到这里基本上OpenCV安装成功。 php程序员站

2、安装人脸识别的PHP扩展facedetect
#wget http://www.xarg.org/download/facedetect-1.0.0.tar.gz (下载)
#tar -xf facedetect-1.0.0.tar.gz
#cd facedetect-1.0.0
#phpize (跟据自己的PHP安装路径,如:/usr/local/php/bin/phpize)
#./configure
#make
#make install php程序员之家

然后在php.ini(/usr/local/php/etc/php.ini) 中增加这个扩展:extension=facedetect.so , 如果设置的是apache的php.ini,需要重启apache服务器。之后就可以通过php -i 或者phpinfo查看facedetect是否启用。扩展增加了两个方法:face_count和face_detect , 分别返回一个图片中识别出来的面部数量和坐标。 php程序员站

3、php实例程序
一切就绪之后,就可以用php编写人脸识别程序了,下面来个实例,实现下图中标注人脸位置的功能,效果图如下: php程序员站

 

www.phperz.com

<?
$file = "4.jpg";
$face_xml = "haarcascade_frontalface_alt2.xml";

$dr = face_detect($file, $face_xml);

$image = imagecreatefromjpeg ($file);
$backgroundcolor = ImageColorAllocate($image, 255, 0, 0);

if ($dr){
foreach ($dr as $dr1){
imagerectangle($image,$dr1[x],$dr1[y],
$dr1[x]+$dr1[w],$dr1[y]+$dr1[h],
$backgroundcolor);
}
}

$newfile="1-new.jpg";
imagejpeg($image,$newfile);
echo "<img src=\"{$newfile}\">";
?> phperz~com

其中face_xml有很多种可以选,表示不同的识别特征(识别效果也会有差异),可以google一下。  phperz.com


延伸阅读:
用cookies来跟踪识别用户
百度今日起可识别带汉字的utf-8编码URL
自动识别WEB和WAP访客的PHP源码
面向对象中PHP构造方法的识别

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港