当前位置: 首页 > 工具软件 > Tclip > 使用案例 >

安装tclip的php扩展

方德宇
2023-12-01
Tclip是一个智能图片裁剪程序。 目前已经开源,由我维护。
Tclip的定位是智能图片裁剪,即裁剪后的图片会把图片中的重要区域保留。Tclip提供了php扩展方式使用。具体安装过程分为两步。第一步是安装opencv2。第二步是安装php扩展。

安装过程中有任何疑问可以加qq 179815944咨询。
安装opencv2
tclip中的人脸识别使用了opencv。因此需要先安装opencv。
1. 安装opencv的依赖包。 gtk+ gtk+-devel pkgconfig libpng zlib libjpeg libtiff cmake
如果是centos可以执行如下命令进行安装依赖包:
yum install gtk+ gtk+-devel pkgconfig libpng zlib libjpeg libtiff cmake
2. 下载opencv2的源码。
opencv的源码下载地址:http://www.bo56.com/download/opencv2.tar.bz2
3. 编译安装opencv2
解压源码压缩文件,可以使用命令 tar -xvf opencv2.tar.bz2
cd 进入安装包文件夹内。
然后依次执行如下命令:
cmake CMakeLists.txt
make && make install
4. 设相关环境变量
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
至此,opencv2安装完毕。

安装tclip的php扩展
1. 下载tclip的源码
源码下载地址如下:
http://code.taobao.org/p/tclip/src/
https://github.com/exinnet/tclip
2. 进入源码中的php_ext目录。 cd php_ext
3. 执行phpize命令。
如果执行这个命令的时候,提示命令找不到“-bash: phpize: command not found”。你需要找到php的安装目录,使用完整路径执行命令。
如,我的php安装目录是/home/fpm-php/。 我的执行命令完整路径就是 /home/fpm-php/bin/phpize
4. 执行./configure命令。
执行命令时,如果提示“configure: error: Cannot find php-config. Please use --with-php-config=PATH”。那就需要指定php-config的路径。这个文件和phpize在同一个目录。如,./configure --with-php-config=/home/fpm-php/bin/php-config
5. 依次执行如下命令:
make && make install
6. 配置php.ini,开启tclip模块
在php.ini中增加如下配置:
[Tclip]
extension=tclip.so
tclip.face_config_path=
如果,在安装opencv2时,安装路径不是默认安装路径。
即安装后,没有这个文件,/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml,
那么就需要在php.ini中配置tclip.face_config_path项。
tclip.face_config_path的值就是haarcascade_frontalface_alt.xml文件的绝对路径。
tclip.face_config_path=haarcascade_frontalface_alt.xml文件的绝对路径
7. 配置文件php.ini修改完后,可以使用 php -m 查看扩展是否开启。
执行命令: php -m
如果在输出的内容中有tclip,说明模块已经正常开启。
8. 重启php,使tclip的php模块生效。

使用方法说明
在php中图片裁剪使用格式:
tclip(文件原路径,裁剪后的图片保存路径,裁剪后的图片宽度,裁剪后的图片高度)
示例:
$source_file = “/tmp/a.jpg”;
$dest_file = “/www/a_dest.jpg”;
$width = 400;
$height = 200;
$ret =tclip($source_file, $dest_file, $width, $height);
执行成功$ret 为true,否则为false

 类似资料: