- OpenCV安装之前必须依赖的包:(请先安装好)
- pkgconfig
- libpng
- zlib
- libjpeg
- libtiff
- python
- [OpenCV安装] www.opencv.org.
- tar xvzf OpenCV-1.0.0.tar.gz
- cd opencv-1.0.0
- ./configure
- make
- make install
- make check (检查是否安装全部正确)
- [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
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make
- make test
- make install
- [ImageMagick] http://www.imagemagick.org/
- tar jxvf ImageMagick-6.5.0-0.tar.bz2
- cd ImageMagick-6.5.0-0
- ./configure
- make
- make install
- [imagick] http://pecl.php.net/imagick
- tar zxvf imagick-2.3.0b1.tgz
- imagick-2.3.0b1
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make
- make test
- make install
- [配置]
- ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
- 看看有没有 facedetect.so 和 imagick.so
- vi /usr/local/php/lib/php.ini
- 在[PHP]模块下增加:
- extension = facedetect.so
- extension = imagick.so
- 重启apache
- [测试代码]
- 从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);
- //------------------
- // 人脸扭曲
- //------------------
- <?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