php opencv识别车牌号,基于OpenCV的PHP图像人脸识别技术

安装测试了一下,如果越是高清的大图,效果越明显,感觉不错

一 安装

1 安装opencv

http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948

下载opencv-1.1pre1.tar.gz(1.0版本没有安装成功)

#tar zxvf opencv-1.1pre1.tar.gz

# cd opencv-1.1.0/

# /.configure

#make

#make install

2 安装facedetect

#wget http://www.xarg.org/download/facedetect-1.0.0.tar.gz

#tar xzvf facedetect-1.0.0.tar.gz

#cd facedetect-1.0.0

#/usr/local/php/bin/phpize

#./configure –with-php-config=/usr/local/php/bin/php-config

#make

#make install

#vi /usr/local/php/etc/php.ini

// 增加extension=facedetect.so

3 重启web服务器,在phpinfo()里查看是否有facedetect这个模块

二 简单测试

从openCV源代码/data/haarcascades/里头取出所有xml文件放在php的执行目录下

//检查有多少个脸型

var_dump(face_count(’test.jpg’, ‘haarcascade_frontalface_alt.xml’));

//返回脸型在图片中的位置参数,多个则返回数组

$arr = face_detect(’test.jpg’, ‘haarcascade_frontalface_alt2.xml’);

print_r($arr);

三 测试代码

if(empty($_POST)) {

?>

上传图片:

} else {

$img = $_FILES['pic']['tmp_name'];

$arr = face_detect($img, ‘haarcascade_frontalface_alt2.xml’);

if(is_array($arr1)) {

$all = array_merge($arr,$arr1);

} else {

$all = $arr;

}

$allowtype = 1;

switch($_FILES['pic']['type']){

case ‘image/pjpeg’: $fix_pic.= “.jpg”; break;

case ‘image/jpeg’: $fix_pic.= “.jpg”; break;

case ‘image/x-png’: $fix_pic.= “.png”; break;

case ‘image/png’: $fix_pic.= “.png”; break;

default: $allowtype = 0; break;

}

if($allowtype == 0) {

echo “文件格式错误:只运行jpg或png图片”;exit;

}

$tmp_name = time();

$src_pic = “/usr/website/nginx/face/haarcascades/upload/”.$tmp_name.$fix_pic;

move_uploaded_file($_FILES['pic']['tmp_name'], $src_pic);

$pic_src = $pic_dst = array();

if(is_array($all)){

foreach ($all as $k => $v){

$tmp_name_new = $tmp_name.”_”.$k;

$x = $v['x'];

$y = $v['y'];

$w = $v['w'];

$h = $v['h'];

$dst_pic = “/usr/website/nginx/face/haarcascades/upload/”.$tmp_name_new.$fix_pic;

// echo $src_pic.”
”;

// echo $dst_pic.”
”;

$cmd = “/usr/bin/convert -crop “.$w.”x”.$h.”+”.$x.”+”.$y.” “.$src_pic.” “.$dst_pic;

// echo $cmd.”
”;

echo `$cmd`;

$pic_src[] = “upload/”.$tmp_name.$fix_pic;

$pic_dst[] = “upload/”.$tmp_name_new.$fix_pic;

}

}

foreach($pic_src as $key => $value) {

echo “%E2%80%99%E2%80%9D.%24value.%E2%80%9D%E2%80%98 => %E2%80%99%E2%80%9D.%24pic_dst%5B%24key%5D.%E2%80%9D%E2%80%98
”;

}

}

?>

test.jpg

test_1.jpg

1228200735.jpg

1228200735_0.jpg

1228200735_1.jpg

1228200735_2.jpg

1228200735_3.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值