Esse commit está contido em:
midoks
2017-10-13 16:37:54 +08:00
commit a8aafc5e5c
3 arquivos alterados com 23 adições e 27 exclusões
+20 -26
Ver Arquivo
@@ -50,20 +50,18 @@ using namespace cv;
using namespace std; using namespace std;
/** {{{ proto php_opencv_imgproc /** {{{ proto php_opencv_imgproc
*/ */
typedef struct _php_opencv_imgproc // typedef struct _php_opencv_imgproc
{ // {
char *src_path; // char *src_path;
long width; // long width;
long height; // long height;
} php_opencv_imgproc_t; // } php_opencv_imgproc_t;
// php_opencv_imgproc_t * opencv_imgproc_var;
/* }}} */ /* }}} */
php_opencv_imgproc_t * opencv_imgproc_var;
Mat opencv_imgproc_src_im; Mat opencv_imgproc_src_im;
Mat opencv_imgproc_dst_im; Mat opencv_imgproc_dst_im;
static CascadeClassifier face_cascade; static CascadeClassifier face_cascade;
@@ -243,9 +241,9 @@ PHP_METHOD(opencv_imgproc, __construct) {
zval *self = NULL; zval *self = NULL;
size_t src_len; size_t src_len;
php_opencv_imgproc_t t = {0}; // php_opencv_imgproc_t t = {0};
opencv_imgproc_var = &t; // opencv_imgproc_var = &t;
opencv_imgproc_var->src_path = NULL; // opencv_imgproc_var->src_path = NULL;
if (zend_parse_parameters_throw(ZEND_NUM_ARGS(), "|s", &src, &src_len) == FAILURE) { if (zend_parse_parameters_throw(ZEND_NUM_ARGS(), "|s", &src, &src_len) == FAILURE) {
return; return;
@@ -254,7 +252,7 @@ PHP_METHOD(opencv_imgproc, __construct) {
if (src){ if (src){
self = getThis(); self = getThis();
opencv_imgproc_var->src_path = src; OPENCV_G(src_img_path) = src;
opencv_imgproc_src_im = imread(src); opencv_imgproc_src_im = imread(src);
opencv_imgproc_dst_im = imread(src); opencv_imgproc_dst_im = imread(src);
@@ -276,7 +274,7 @@ PHP_METHOD(opencv_imgproc, setImage) {
} }
if (src){ if (src){
opencv_imgproc_var->src_path = src; OPENCV_G(src_img_path) = src;
opencv_imgproc_src_im = imread(src); opencv_imgproc_src_im = imread(src);
opencv_imgproc_dst_im = imread(src); opencv_imgproc_dst_im = imread(src);
} }
@@ -290,21 +288,21 @@ PHP_METHOD(opencv_imgproc, setImage) {
*/ */
PHP_METHOD(opencv_imgproc, tclip) { PHP_METHOD(opencv_imgproc, tclip) {
long dst_width, dst_height; long dst_width, dst_height;
Size tmp_size;
float ratio = 0.0, ratio_w = 0.0, ratio_h = 0.0;
int clip_top = 0,clip_bottom = 0,clip_left = 0, clip_right = 0;
if (zend_parse_parameters_throw(ZEND_NUM_ARGS(), "ll", &dst_width, &dst_height) == FAILURE) { if (zend_parse_parameters_throw(ZEND_NUM_ARGS(), "ll", &dst_width, &dst_height) == FAILURE) {
return; return;
} }
//check,import //check,import
if (!opencv_imgproc_var->src_path){ if (!OPENCV_G(src_img_path)){
RETURN_FALSE; RETURN_FALSE;
} }
opencv_imgproc_var->width = dst_width; //opencv_imgproc_var->width = dst_width;
opencv_imgproc_var->height = dst_height; //opencv_imgproc_var->height = dst_height;
Size tmp_size;
float ratio = 0.0, ratio_w = 0.0, ratio_h = 0.0;
int clip_top = 0,clip_bottom = 0,clip_left = 0, clip_right = 0;
if (opencv_imgproc_src_im.size().width * 3 <= opencv_imgproc_src_im.size().height) { if (opencv_imgproc_src_im.size().width * 3 <= opencv_imgproc_src_im.size().height) {
ratio = (float)dst_width / opencv_imgproc_src_im.size().width; ratio = (float)dst_width / opencv_imgproc_src_im.size().width;
@@ -403,12 +401,8 @@ PHP_METHOD(opencv_imgproc, writeImage) {
*/ */
PHP_METHOD(opencv_imgproc, __destruct) { PHP_METHOD(opencv_imgproc, __destruct) {
// if (php_opencv_imgproc->src_path) { OPENCV_G(src_img_path) = NULL;
// efree(php_opencv_imgproc->src_path);
// php_opencv_imgproc->src_path = NULL;
// }
// php_opencv_imgproc = NULL;
} }
/* }}} */ /* }}} */
+2 -1
Ver Arquivo
@@ -80,7 +80,8 @@ PHP_FUNCTION(confirm_opencv_compiled)
//Uncomment this function if you have INI entries //Uncomment this function if you have INI entries
static void php_opencv_init_globals(zend_opencv_globals *opencv_globals) static void php_opencv_init_globals(zend_opencv_globals *opencv_globals)
{ {
opencv_globals->root_path = NULL; opencv_globals->root_path = NULL;
opencv_globals->src_img_path = NULL;
} }
/* }}} */ /* }}} */
+1
Ver Arquivo
@@ -72,6 +72,7 @@ extern zend_module_entry opencv_module_entry;
*/ */
ZEND_BEGIN_MODULE_GLOBALS(opencv) ZEND_BEGIN_MODULE_GLOBALS(opencv)
char *root_path; char *root_path;
char *src_img_path;
ZEND_END_MODULE_GLOBALS(opencv) ZEND_END_MODULE_GLOBALS(opencv)
/* Always refer to the globals in your function as OPENCV_G(variable). /* Always refer to the globals in your function as OPENCV_G(variable).