1313 | Author: HaiHao Zhou <hihozhou@gmail.com> |
1414 +----------------------------------------------------------------------+
1515 */
16+ #include " ../../../php_opencv.h"
17+ #include " opencv_facerec.h"
1618
19+ #ifdef HAVE_OPENCV_FACE
1720
18-
19- #include " opencv_facerec.h"
2021#include " ../opencv_face.h"
2122#include " ../core/opencv_mat.h"
2223#include " ../../../opencv_exception.h"
24+ #include < opencv2/face.hpp>
25+ using namespace cv ::face;
26+
27+ #define Z_PHP_LBPH_FACE_RECOGNIZER_OBJ_P (zv ) get_lbph_face_recognizer_obj(Z_OBJ_P(zv))
28+
29+ typedef struct _opencv_lbph_face_recognizer_object {
30+ zend_object std;
31+ Ptr<LBPHFaceRecognizer> faceRecognizer;
32+ }opencv_lbph_face_recognizer_object;
33+
34+
35+ /* *
36+ * @param obj
37+ * @return
38+ */
39+ static inline opencv_lbph_face_recognizer_object* get_lbph_face_recognizer_obj (zend_object *obj) {
40+ return (opencv_lbph_face_recognizer_object*)((char *)(obj) - XtOffsetOf (opencv_lbph_face_recognizer_object, std));
41+ }
2342
2443zend_object_handlers opencv_lbph_face_recognizer_object_handlers;
2544
@@ -132,7 +151,7 @@ void opencv_lbph_face_recognizer_free_obj(zend_object *object)
132151 zend_object_std_dtor (object);
133152}
134153
135- extern void opencv_lbph_face_recognizer_init (int module_number){
154+ void opencv_lbph_face_recognizer_init (int module_number){
136155 zend_class_entry ce;
137156 INIT_NS_CLASS_ENTRY (ce,OPENCV_FACE_NS, " LBPHFaceRecognizer" , opencv_lbph_face_recognizer_methods);
138157 opencv_lbph_face_recognizer_ce = zend_register_internal_class_ex (&ce, opencv_face_recognizer_ce);
@@ -144,6 +163,10 @@ extern void opencv_lbph_face_recognizer_init(int module_number){
144163 opencv_lbph_face_recognizer_object_handlers.free_obj = opencv_lbph_face_recognizer_free_obj;
145164}
146165
166+
167+
168+
169+
147170/* *
148171 * -----------------------------------【CV\BaseFaceRecognizer】--------------------------------------
149172 *
@@ -162,4 +185,17 @@ void opencv_base_face_recognizer_init(int module_number){
162185 zend_class_entry ce;
163186 INIT_NS_CLASS_ENTRY (ce,OPENCV_FACE_NS, " BaseFaceRecognizer" , opencv_base_face_recognizer_methods);
164187 opencv_base_face_recognizer_ce = zend_register_internal_class_ex (&ce, opencv_face_recognizer_ce);
165- }
188+ }
189+
190+
191+ #else
192+
193+ void opencv_lbph_face_recognizer_init (int module_number){
194+
195+ }
196+
197+ void opencv_base_face_recognizer_init (int module_number){
198+
199+ }
200+
201+ #endif
0 commit comments