Esse commit está contido em:
Vladimir Goncharov
2021-02-18 21:44:17 +02:00
commit 5450975402
3 arquivos alterados com 55 adições e 0 exclusões
+1
Ver Arquivo
@@ -223,6 +223,7 @@ const zend_function_entry opencv_functions[] = {
ZEND_NS_NAMED_FE(OPENCV_NS, log, ZEND_FN(opencv_log), opencv_log_arginfo)
ZEND_NS_NAMED_FE(OPENCV_NS, normalize, ZEND_FN(opencv_normalize), opencv_normalize_arginfo)
ZEND_NS_NAMED_FE(OPENCV_NS, norm, ZEND_FN(opencv_norm), opencv_norm_arginfo)
ZEND_NS_NAMED_FE(OPENCV_NS, meanStdDev, ZEND_FN(opencv_mean_std_dev), opencv_mean_std_dev_arginfo)
ZEND_NS_NAMED_FE(OPENCV_NS, equalizeHist, ZEND_FN(opencv_equalize_hist), opencv_equalize_hist_arginfo)
ZEND_NS_NAMED_FE(OPENCV_NS, resize, ZEND_FN(opencv_resize), opencv_resize_arginfo)
ZEND_NS_NAMED_FE(OPENCV_NS, putText, ZEND_FN(opencv_put_text), arginfo_void)
+47
Ver Arquivo
@@ -726,3 +726,50 @@ PHP_FUNCTION(opencv_lut){
RETURN_NULL();
}
/**
* //todo mask parameter
* CV\meanStdDev
* @param execute_data
* @param return_value
*/
PHP_FUNCTION(opencv_mean_std_dev){
zval *src_zval, *mean_zval, *sdv_zval;
zval *mask_zval;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ozz",
&src_zval, opencv_mat_ce, &mean_zval, &sdv_zval) == FAILURE) {
RETURN_NULL();
}
opencv_mat_object *src_object = Z_PHP_MAT_OBJ_P(src_zval);
zval *mean_real_zval = Z_REFVAL_P(mean_zval);
zval *sdv_real_zval = Z_REFVAL_P(sdv_zval);
opencv_mat_object *mean_object, *sdv_object;
if (Z_TYPE_P(mean_real_zval) == IS_OBJECT && Z_OBJCE_P(mean_real_zval)==opencv_mat_ce){
mean_object = Z_PHP_MAT_OBJ_P(mean_real_zval);
} else{
zval_ptr_dtor(mean_real_zval);
zval instance;
Mat mean;
object_init_ex(&instance,opencv_mat_ce);
ZVAL_COPY_VALUE(mean_real_zval, &instance);
mean_object = Z_PHP_MAT_OBJ_P(mean_real_zval);
mean_object->mat = new Mat(mean);
}
if (Z_TYPE_P(sdv_real_zval) == IS_OBJECT && Z_OBJCE_P(sdv_real_zval)==opencv_mat_ce){
sdv_object = Z_PHP_MAT_OBJ_P(sdv_real_zval);
} else{
zval_ptr_dtor(sdv_real_zval);
zval instance2;
Mat sdv;
object_init_ex(&instance2,opencv_mat_ce);
ZVAL_COPY_VALUE(sdv_real_zval, &instance2);
sdv_object = Z_PHP_MAT_OBJ_P(sdv_real_zval);
sdv_object->mat = new Mat(sdv);
}
meanStdDev(*src_object->mat, *mean_object->mat, *sdv_object->mat);
//opencv_mat_update_property_by_c_mat(mean_real_zval, mean_object->mat);
//opencv_mat_update_property_by_c_mat(sdv_real_zval, sdv_object->mat);
RETURN_NULL();
}
+7
Ver Arquivo
@@ -111,4 +111,11 @@ ZEND_BEGIN_ARG_INFO_EX(opencv_lut_arginfo, 0, 0, 3)
ZEND_END_ARG_INFO()
PHP_FUNCTION(opencv_lut);
ZEND_BEGIN_ARG_INFO_EX(opencv_mean_std_dev_arginfo, 0, 0, 3)
ZEND_ARG_INFO(0, src)
ZEND_ARG_INFO(1, mean)
ZEND_ARG_INFO(1, sdv)
ZEND_END_ARG_INFO()
PHP_FUNCTION(opencv_mean_std_dev);
#endif //OPENCV_CORE_H