Tclip致力于人脸识别和图片显著性区域的识别。它与其他图片裁剪程序最大的不同之处在于,在裁剪后的图片中保留人脸和其他图片显著性区域。
T
开头,代表是头像识别。clip
,读[klip],译为裁剪。Tclip
,意为自动头像识别的图片裁剪项目。用于图片裁剪,有以下特点:
原图:
*如果按照从中间截取为 400 225 大小大图片。效果如下:**
使用tclip裁剪图片效果如下:
原图:
如果按照从中间截取,效果如下:
在php中使用裁剪图片效果如下:
opencv2
此扩展依赖于opencv2.0
之上版本。因此安装前先安装opencv
。
步骤如下:
安装依赖
yum -y install gtk+ gtk+-devel pkgconfig libpng zlib libjpeg libtiff cmake
下载安装 opencv2
# 下载
wget https://github.com/opencv/opencv/archive/2.4.9.tar.gz
# 解压安装包
tar xvf 2.4.9.tar.gz
# 进入opencv目录
cd opencv-2.4.9/
# 编译安装
cmake CMakeLists.txt
make -j $(cat /proc/cpuinfo|grep processor|wc -l)
make install
设置环境变量
cp -p /etc/profile{,.$(date +%F_%T)}
# 在/etc/profile unset i前增加PKG_CONFIG_PATH
grep '^PKG_CONFIG_PATH' /etc/profile||sed -i '/^unset i/iexport PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' /etc/profile
source /etc/profile
[[ -f /etc/ld.so.conf.d/opencv.conf ]] && cp -p /etc/ld.so.conf.d/opencv.conf{,.$(date +%F)}
echo "/usr/local/lib/" > /etc/ld.so.conf.d/opencv.conf
ldconfig
php-tclip
扩展# 下载tclip
wget https://github.com/exinnet/tclip/archive/1.0.0.tar.gz
# 解压
tar xvf 1.0.0.tar.gz
# 进入php_ext
cd tclip-1.0.0/php_ext/
# 编译安装php-tclip
phpize
./configure --with-php-config=/usr/bin/php-config
make
make install
# 拷贝到php扩展目录
cp modules/tclip.so /path/to/extension/
# 修改php.ini 加入tclip
php -m|grep tclip.so||echo 'extension = tclip.so' >> /etc/php.ini
# 重启php-fpm
/etc/init.d/php-fpm restart
想使用命令行方式,可以进行如下安装
cd cd tclip-1.0.0/
chmod +x ./tclip.sh
./tclip.sh
tclip(文件原路径,裁剪后的图片保存路径,裁剪后的图片宽度,裁剪后的图片高度)
示例:
<?php
$source_file = "/tmp/a.jpg";
$dest_file = "/www/a_dest.jpg";
$width = 400;
$height = 200;
$watermark_text = ""; // 可选
$ret = tclip($source_file, $dest_file, $width, $height, $watermark_text);
// 裁剪成功 $ret 为 true
// 裁剪失败 $ret 为 false
参数说明:
-s 原图路径
-d 裁剪后的图片保存路径
-w 裁剪后的图片宽度
-h 裁剪后的图片高度
-c 配置文件路径。
默认配置路径:/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml
-t 水印文本
-m 打开debug模式
./tclip -s a.jpg -d a_dest.jpg -w 400 -h 200