Giter Club home page Giter Club logo

tclip's People

Contributors

exinnet avatar ixqbar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tclip's Issues

能否考虑支持文字水印

能否考虑支持文字水印?

putText(dest_image, "xingqiba" , Point(10, dest_image.rows-20), CV_FONT_HERSHEY_SIMPLEX, 0.8f, CV_RGB(255,255,255), 2);
a1_ demo

php 7.1 编译完成,运行报错

编译一切顺利,运行时

[root@localhost php_ext]# php -m
OpenCV Error: Null pointer (NULL or empty buffer) in cvOpenFileStorage, file /root/opencv-2.4.13/modules/core/src/persistence.cpp, line 2696
terminate called after throwing an instance of 'cv::Exception'
  what():  /root/opencv-2.4.13/modules/core/src/persistence.cpp:2696: error: (-27) NULL or empty buffer in function cvOpenFileStorage

已放弃

centos 7 gcc 4.8.5

tclip 扩展加载出错

系统环境:
PHP Version 5.4.16
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64

问题现象:
[root@localhost ~]# php -m | grep 'tclip'
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/tclip.so' - libopencv_videostab.so.2.4: cannot open shared object file: No such file or directory in Unknown on line 0

这个扩展是不是不支持64php?

CentOS6下编译php-tclip扩展报错

系统信息: 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
PHP版本:5.4.25
OpenCV版本:OpenCV-2.4.10.4
gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

报错信息:
configure: error: no result from pkg-config opencv --libs --cflags opencv

错误信息在在百度上google一下,发现了2个比较有用的结果:

  1. 作者的博客:
    Tclip:http://www.bo56.com/%E5%AE%89%E8%A3%85tclip%E7%9A%84php%E6%89%A9%E5%B1%95/
  2. 前同事和领导的文章:
    MacOS 安装 PHP的Tclip扩展实现更好的缩略图:
    http://segmentfault.com/a/1190000002618014

跟我的错误一样,不过他们是MAC下的,跟我的情况还不一样,根据两篇文章中的内容找了下:

  1. 执行 pkg-config opencv --libs --cflags opencv 返回结果:
-I/usr/local/include/opencv -I/usr/local/include  /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_ocl.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videostab.so -lrt -lpthread -lm -ldl 

因为源码中对该结果进行循环判断,方便阅读格式化一下,即:

-I/usr/local/include/opencv
-I/usr/local/include
/usr/local/lib/libopencv_calib3d.so
/usr/local/lib/libopencv_contrib.so
/usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_flann.so
/usr/local/lib/libopencv_gpu.so
/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_imgproc.so
/usr/local/lib/libopencv_legacy.so
/usr/local/lib/libopencv_ml.so
/usr/local/lib/libopencv_nonfree.so
/usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_ocl.so
/usr/local/lib/libopencv_photo.so
/usr/local/lib/libopencv_stitching.so
/usr/local/lib/libopencv_superres.so
/usr/local/lib/libopencv_ts.a
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_videostab.so
-lrt
-lpthread
-lm
-ldl
  1. 判断得出该错误的关键代码 tclip-1.0.0/php_ext/config.m4:
  OPENCV_FLAGS="`pkg-config opencv --libs --cflags opencv "
  opencv_lib_path=""
  for i in $OPENCV_FLAGS;do
        if test ${i:0:2} = "-I" ;then
                PHP_ADD_INCLUDE(${i:2})
        elif test ${i:0:2} = "-L" ;then
                opencv_lib_path=${i:2}
        elif test ${i:${#i}-3} = ".so" ;then
                dir_name=`dirname $i`
                file_name=${i/$dir_name/}
                file_name=${file_name/\/lib/}
                file_name=${file_name/.so/}
                        #PHP_ADD_LIBRARY_WITH_PATH($file_name,$dir_name,TCLIP_SHARED_LIBADD)
                        PHP_ADD_LIBRARY_WITH_PATH($file_name,$dir_name,TCLIP_SHARED_LIBADD)
        elif test ${i:${#i}-6} = ".dylib" ;then
                dir_name=`dirname $i`
                file_name=${i/$dir_name/}
                file_name=${file_name/\/lib/}
                file_name=${file_name/.dylib/}
                        PHP_ADD_LIBRARY_WITH_PATH($file_name,$dir_name,TCLIP_SHARED_LIBADD)
        elif test ${i:0:2} = "-l" ;then
                file_name=${i:2}
                PHP_ADD_LIBRARY_WITH_PATH($file_name,$opencv_lib_path,TCLIP_SHARED_LIBADD)
            else
                        AC_MSG_ERROR([no result from pkg-config opencv --libs --cflags opencv])
        fi
  done

很明显是/usr/local/lib/libopencv_ts.a导致了该错误,实在太菜了,不懂C语言,也不晓得这个是做什么用的,就参考以上2篇文章

OPENCV_FLAGS="`pkg-config opencv --libs --cflags opencv` "

pkg-config opencv --libs --cflags opencv修改为该命令执行结果,并移除/usr/local/lib/libopencv_ts.a 编译就通过了

来反馈下,海龙大神抽空看下是什么问题导致的。

几经折腾终于成功试用了tclip,感觉很好,但也有些问题想反馈一下,不知道作者是否还在维护。

1、不支持apache,编译安装好tclip扩展后apache重启时就崩溃了,关闭tclip扩展后恢复正常。(没办法,只好又重新弄了个nginx的环境来试用,成功了!感觉非常好。)
2、水印不支持中文,中文乱码
3、没有从底层判断是图片处理完成后的存放目录是否存在或者因为权限导致的读写问题,虽然能够通过php来从上层逻辑处理,但更为理想的处理方式个人认为还是应该在tclip中进行处理,建议作者能够考虑。

tclip扩展无法加载图片的问题

Warning: tclip(): fail to load image from www.baidu.com/img/bd_logo1.png
bool(false)

原因出自:
image = imread( source_path );
if( !image.data ){
php_error_docref(NULL TSRMLS_CC, E_WARNING, "fail to load image from %s", source_path);
RETURN_FALSE;
}

解决方法:
imread 这个函数而言,Debug版的库只能用于Debug版的程序,Release版的库只能用于Release 版程序。

dose not find opencv.pc

英文:
when I compiled tclip extention for php7.2, An error occured that "dose not find opencv.pc", but I'm confirmed the opencv packege by command "pkg-config opencv --libs". It says :
[root@localhost php_ext]# pkg-config opencv --libs -L/usr/local/lib64 -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_freetype -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core
so how can I solve this problem ?

汉语:
当我编译安装Tclip扩展的时候,屏幕上显示找不到opencv.pc,但是事实上我已经安装了opencv版本是3.4.1 (题外话,除了tclip我也安装了另外一个基于opencv的扩展phpopencv),不知道为什么tclip找不到opencv.pc 希望知道的朋友帮忙解决一下这个问题。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.