update
Esse commit está contido em:
+20
-26
@@ -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
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|||||||
@@ -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).
|
||||||
|
|||||||
Referência em uma Nova Issue
Bloquear um usuário