Skip to content

Commit da8376e

Browse files
committed
fix source/opencv2/face/opencv_facerec.h and source/opencv2/face/opencv_facerec.cc check HAVE_OPENCV_FACE
1 parent d0c20ae commit da8376e

File tree

2 files changed

+40
-24
lines changed

2 files changed

+40
-24
lines changed

source/opencv2/face/opencv_facerec.cc

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,32 @@
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

2443
zend_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

source/opencv2/face/opencv_facerec.h

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@
1818
#ifndef PHP_OPENCV_FACEREC_H
1919
#define PHP_OPENCV_FACEREC_H
2020

21-
#include "../../../php_opencv.h"
22-
23-
#include <opencv2/face.hpp>
24-
using namespace cv::face;
25-
2621

2722
/**
2823
* -----------------------------------【CV\LBPHFaceRecognizer】-------------------------
@@ -31,21 +26,6 @@ using namespace cv::face;
3126
*/
3227
extern void opencv_lbph_face_recognizer_init(int module_number);
3328

34-
#define Z_PHP_LBPH_FACE_RECOGNIZER_OBJ_P(zv) get_lbph_face_recognizer_obj(Z_OBJ_P(zv))
35-
36-
typedef struct _opencv_lbph_face_recognizer_object{
37-
zend_object std;
38-
Ptr<LBPHFaceRecognizer> faceRecognizer;
39-
}opencv_lbph_face_recognizer_object;
40-
41-
42-
/**
43-
* @param obj
44-
* @return
45-
*/
46-
static inline opencv_lbph_face_recognizer_object* get_lbph_face_recognizer_obj(zend_object *obj) {
47-
return (opencv_lbph_face_recognizer_object*)((char*)(obj) - XtOffsetOf(opencv_lbph_face_recognizer_object, std));
48-
}
4929

5030

5131
/**

0 commit comments

Comments
 (0)