@@ -463,7 +463,7 @@ PHP_FUNCTION(opencv_gaussian_blur){
463
463
&src_zval, opencv_mat_ce,
464
464
&dst_zval,
465
465
&ksize_zval, opencv_size_ce,
466
- &sigma_x, sigma_y,
466
+ &sigma_x, & sigma_y,
467
467
&border_type) == FAILURE) {
468
468
RETURN_NULL ();
469
469
}
@@ -483,7 +483,7 @@ PHP_FUNCTION(opencv_gaussian_blur){
483
483
dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
484
484
dst_object->mat = new Mat (dst);
485
485
}
486
- GaussianBlur (*src_object->mat , *dst_object->mat , *ksize_object->size , sigma_x, sigma_y, (int )border_type);
486
+ GaussianBlur (*src_object->mat , *dst_object->mat , *ksize_object->size , ( double ) sigma_x, ( double ) sigma_y, (int )border_type);
487
487
RETURN_NULL ();
488
488
}
489
489
@@ -677,6 +677,140 @@ PHP_FUNCTION(opencv_threshold){
677
677
RETURN_DOUBLE (threshold (*src_object->mat , *dst_object->mat , thresh, maxval, (int )type));
678
678
}
679
679
680
+ /* *
681
+ * CV\sobel
682
+ * @param execute_data
683
+ * @param return_value
684
+ */
685
+ PHP_FUNCTION (opencv_sobel){
686
+
687
+ zval *src_zval, *dst_zval;
688
+ long ddepth,dx,dy;
689
+ long ksize=3 ;
690
+
691
+ double delta = 0.0 ,scale=1.0 ;
692
+ long border_type = BORDER_DEFAULT;
693
+ opencv_mat_object *dst_object;
694
+
695
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " Ozlll|lddl" ,
696
+ &src_zval, opencv_mat_ce,
697
+ &dst_zval,
698
+ &ddepth,
699
+ &dx,
700
+ &dy,
701
+ &ksize,
702
+ &scale,
703
+ &delta,
704
+ &border_type) == FAILURE) {
705
+ RETURN_NULL ();
706
+ }
707
+
708
+ opencv_mat_object *src_object = Z_PHP_MAT_OBJ_P (src_zval);
709
+
710
+ zval *dst_real_zval = Z_REFVAL_P (dst_zval);
711
+ if (Z_TYPE_P (dst_real_zval) == IS_OBJECT && Z_OBJCE_P (dst_real_zval) == opencv_mat_ce){
712
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
713
+ } else {
714
+ zval_ptr_dtor (dst_real_zval);
715
+ zval instance;
716
+ Mat dst;
717
+ object_init_ex (&instance,opencv_mat_ce);
718
+ ZVAL_COPY_VALUE (dst_real_zval, &instance);
719
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
720
+ dst_object->mat = new Mat (dst);
721
+ }
722
+ Sobel (*src_object->mat , *dst_object->mat , (int )ddepth, (int )dx, (int )dy, (int )ksize, (double )scale, (double )delta, (int )border_type);
723
+ RETURN_NULL ();
724
+ }
725
+
726
+ /* *
727
+ * CV\Scharr
728
+ * @param execute_data
729
+ * @param return_value
730
+ */
731
+ PHP_FUNCTION (opencv_scharr){
732
+
733
+ zval *src_zval, *dst_zval;
734
+ long ddepth,dx,dy;
735
+
736
+ double delta = 0.0 ,scale=1.0 ;
737
+ long border_type = BORDER_DEFAULT;
738
+ opencv_mat_object *dst_object;
739
+
740
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " Ozlll|ddl" ,
741
+ &src_zval, opencv_mat_ce,
742
+ &dst_zval,
743
+ &ddepth,
744
+ &dx,
745
+ &dy,
746
+ &scale,
747
+ &delta,
748
+ &border_type) == FAILURE) {
749
+ RETURN_NULL ();
750
+ }
751
+
752
+ opencv_mat_object *src_object = Z_PHP_MAT_OBJ_P (src_zval);
753
+
754
+ zval *dst_real_zval = Z_REFVAL_P (dst_zval);
755
+ if (Z_TYPE_P (dst_real_zval) == IS_OBJECT && Z_OBJCE_P (dst_real_zval) == opencv_mat_ce){
756
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
757
+ } else {
758
+ zval_ptr_dtor (dst_real_zval);
759
+ zval instance;
760
+ Mat dst;
761
+ object_init_ex (&instance,opencv_mat_ce);
762
+ ZVAL_COPY_VALUE (dst_real_zval, &instance);
763
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
764
+ dst_object->mat = new Mat (dst);
765
+ }
766
+ Scharr (*src_object->mat , *dst_object->mat , (int )ddepth, (int )dx, (int )dy, (double )scale, (double )delta, (int )border_type);
767
+ RETURN_NULL ();
768
+ }
769
+
770
+ /* *
771
+ * CV\laplacian
772
+ * @param execute_data
773
+ * @param return_value
774
+ */
775
+ PHP_FUNCTION (opencv_laplacian){
776
+
777
+ zval *src_zval, *dst_zval;
778
+ long ddepth;
779
+ long ksize=3 ;
780
+
781
+ double delta = 0.0 ,scale=1.0 ;
782
+ long border_type = BORDER_DEFAULT;
783
+ opencv_mat_object *dst_object;
784
+
785
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " Ozl|lddl" ,
786
+ &src_zval, opencv_mat_ce,
787
+ &dst_zval,
788
+ &ddepth,
789
+ &ksize,
790
+ &scale,
791
+ &delta,
792
+ &border_type) == FAILURE) {
793
+ RETURN_NULL ();
794
+ }
795
+
796
+ opencv_mat_object *src_object = Z_PHP_MAT_OBJ_P (src_zval);
797
+
798
+ zval *dst_real_zval = Z_REFVAL_P (dst_zval);
799
+ if (Z_TYPE_P (dst_real_zval) == IS_OBJECT && Z_OBJCE_P (dst_real_zval) == opencv_mat_ce){
800
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
801
+ } else {
802
+ zval_ptr_dtor (dst_real_zval);
803
+ zval instance;
804
+ Mat dst;
805
+ object_init_ex (&instance,opencv_mat_ce);
806
+ ZVAL_COPY_VALUE (dst_real_zval, &instance);
807
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
808
+ dst_object->mat = new Mat (dst);
809
+ }
810
+ Laplacian (*src_object->mat , *dst_object->mat , (int )ddepth, (int )ksize, (double )scale, (double )delta, (int )border_type);
811
+ RETURN_NULL ();
812
+ }
813
+
680
814
/* *
681
815
* CV\filter2D
682
816
* @param execute_data
@@ -725,6 +859,45 @@ PHP_FUNCTION(opencv_filter2D){
725
859
RETURN_NULL ();
726
860
}
727
861
862
+ /* *
863
+ * CV\convertScaleAbs
864
+ * @param execute_data
865
+ * @param return_value
866
+ */
867
+ PHP_FUNCTION (opencv_convert_scale_abs){
868
+
869
+ zval *src_zval, *dst_zval;
870
+ double alpha = 1.0 ;
871
+ double beta = 0.0 ;
872
+
873
+ opencv_mat_object *dst_object;
874
+
875
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " Oz|dd" ,
876
+ &src_zval, opencv_mat_ce,
877
+ &dst_zval,
878
+ &alpha,
879
+ &beta) == FAILURE) {
880
+ RETURN_NULL ();
881
+ }
882
+
883
+ opencv_mat_object *src_object = Z_PHP_MAT_OBJ_P (src_zval);
884
+
885
+ zval *dst_real_zval = Z_REFVAL_P (dst_zval);
886
+ if (Z_TYPE_P (dst_real_zval) == IS_OBJECT && Z_OBJCE_P (dst_real_zval) == opencv_mat_ce){
887
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
888
+ } else {
889
+ zval_ptr_dtor (dst_real_zval);
890
+ zval instance;
891
+ Mat dst;
892
+ object_init_ex (&instance,opencv_mat_ce);
893
+ ZVAL_COPY_VALUE (dst_real_zval, &instance);
894
+ dst_object = Z_PHP_MAT_OBJ_P (dst_real_zval);
895
+ dst_object->mat = new Mat (dst);
896
+ }
897
+ convertScaleAbs (*src_object->mat , *dst_object->mat , (double )alpha, (double )beta);
898
+ RETURN_NULL ();
899
+ }
900
+
728
901
/* *
729
902
* CV\getStructuringElement
730
903
* @param execute_data
0 commit comments