基于OpenCV的PHP图像人脸识别技术


Posted in PHP onOctober 11, 2009

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'));
//返回脸型在图片中的位置参数,多个则返回数组
$arr = face_detect(‘party.jpeg', haarcascade_frontalface_alt2.xml');
print_r($arr);
3.应用
结合imagick可以将图片做一下应用。因为 face_detect只返回一个矩形参数,包含x,y坐标和w,h长宽参数。下面是我的一个应用demo

<?php 
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)) $all =array_merge($arr,$arr1); 
else $all = $arr; 
$im = new Imagick($img); 
//$draw =new ImagickDraw(); 
//$borderColor = new ImagickPixel('red'); 
//$draw->setFillAlpha(0.0); 
//$draw->setStrokeColor ($borderColor); 
//$draw->setStrokeWidth (1); 
if(is_array($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; 
}else{ 
?> 
<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8″ /> 
<form method=“POST” enctype=“multipart/form-data”> 
人脸识别试验:只支持jpg,png<br> 
上传一张图片 <input type=“file” name=“pic”> 
<input type=“submit” value=“upload”> 
</form> 
<? 
} 
?>

参考资料:
http://www.xarg.org/2008/07/face-detection-with-php/
http://www.opencv.org.cn/index.php/首页
http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/index.html

PHP 相关文章推荐
十天学会php之第六天
Oct 09 PHP
php 无限级 SelectTree 类
May 19 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
php不使用copy()函数复制文件的方法
Mar 13 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
关于php开启错误提示的总结
Sep 24 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 PHP
PHP 身份验证方面的函数
Oct 11 #PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 #PHP
关于页面优化和伪静态
Oct 11 #PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 #PHP
Ha0k 0.3 PHP 网页木马修改版
Oct 11 #PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 #PHP
PHP 日期时间函数的高级应用技巧
Oct 10 #PHP
You might like
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
php生成与读取excel文件
2016/10/14 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
用jquery来定位
2007/02/20 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
Pandas数据离散化原理及实例解析
2019/11/16 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
转让协议书范本
2014/04/15 职场文书
小学课外阅读总结
2014/07/09 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
党员剖析材料范文
2014/12/18 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书