php图片裁剪扩展tclip

  • 内容
  • 评论
  • 相关

用于图片裁剪。有以下特点:

1.能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉。

2.自动识别其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域。

总而言之,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域。

目前已经用于一淘玩客

效果演示:

原图:

PW5@XHJE7)Q_X$RI0XK)$OS

常规从中间截取为 400 * 225 大小大图片。效果如下:

$BMCDMCHVJYL[T_AGE]FE3B

使用tclip裁剪图片效果如下:

@~~1OBQW~KT%5OQ7VTK69ZG

安装步骤

源码下载

opencv2 下载地址 http://www.opencv.org.cn/index.php/Download

安装opencv2

此扩展依赖于opencv2.0 之上版本。因此安装前先安装opencv。opencv的安装步骤如下

yum install gtk+ gtk+-devel pkgconfig libpng zlib libjpeg libtiff cmake

wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4a.tar.bz2?r=http%3A%2F%2Fwww.opencv.org.cn%2Findex.php%2FDownload&ts=1375240385&use_mirror=ncu

tar jxvf OpenCV-2.4.4a.tar.bz2

cd opencv-2.4.4/

cmake CMakeLists.txt

make && make install

vim /etc/profile

#在 unset i 前增加

export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

#保持退出后,执行如下命令

source /etc/profile

echo "/usr/local/lib/" > /etc/ld.so.conf.d/opencv.conf

ldconfig

安装tclip扩展

下载源代码:http://code.taobao.org/svn/tclip/trunk

#cd 到源代码目录中的php_ext文件夹

/usr/local/php5/bin/phpize

./configure --with-php-config=/usr/local/php5/bin/php-config

make && make install

#修改php.ini。加入 extension=tclip.so

#重启fpm即可

#查看是否加载成功

php -i | grep tclip

tclip

tclip support => enabled

tclip.face_config_path => no value => no value

安装命令行

#cd 进入源码中的soft文件夹内

chmod +x ./tclip.sh

./tclip.sh

使用方法说明

第一种:在php中使用格式:

tclip(文件原路径,裁剪后的图片保存路径,裁剪后的图片宽度,裁剪后的图片高度)

示例:

$source_file = "/tmp/a.jpg";

$dest_file = "/www/a_dest.jpg";

$width = 400;

$height = 200;

tclip($source_file, $dest_file, $width, $height);

第二种:命令行

 

参数说明:

-s 原图路径

-d 裁剪后的图片保存路径

-w 裁剪后的图片宽度

-h 裁剪后的图片高度

./tclip -s a.jpg -d a_dest.jpg -w 400 -h 200