Skip to content

Commit 0e57662

Browse files
committed
fix some function bug and add const
1 parent 335b68b commit 0e57662

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

source/opencv2/core/opencv_persistence.cc

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ zend_object* opencv_file_storage_create_handler(zend_class_entry *type){
4242
*/
4343
PHP_METHOD(opencv_file_storage, __construct){
4444
char *source;
45-
long source_len = 0, flags;
45+
long source_len = 0, flags = FileStorage::READ;
4646
FileStorage *fs;
4747
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|sl", &source, &source_len, &flags) == FAILURE) {
4848
RETURN_NULL();
@@ -214,6 +214,16 @@ PHP_METHOD(opencv_file_storage, release){
214214
RETURN_NULL();
215215
}
216216

217+
/**
218+
* CV\FileStorage->isOpened()
219+
* @param execute_data
220+
* @param return_value
221+
*/
222+
PHP_METHOD(opencv_file_storage, is_opened){
223+
opencv_file_storage_object *obj = Z_PHP_FILE_STORAGE_OBJ_P(getThis());
224+
RETURN_BOOL(obj->fileStorage->isOpened());
225+
}
226+
217227
/**
218228
* opencv_file_storage_methods[]
219229
*/
@@ -223,6 +233,7 @@ const zend_function_entry opencv_file_storage_methods[] = {
223233
PHP_ME(opencv_file_storage, write, NULL, ZEND_ACC_PUBLIC)
224234
PHP_ME(opencv_file_storage, read, NULL, ZEND_ACC_PUBLIC)
225235
PHP_ME(opencv_file_storage, release, NULL, ZEND_ACC_PUBLIC)
236+
PHP_MALIAS(opencv_file_storage, isOpened ,is_opened, NULL, ZEND_ACC_PUBLIC)
226237
PHP_FE_END
227238
};
228239
/* }}} */

source/opencv2/opencv_objdetect.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,13 +169,20 @@ void opencv_cascade_classifier_init(int module_number){
169169
opencv_cascade_classifier_object_handlers.free_obj = opencv_cascade_classifier_free_obj;
170170
}
171171

172+
173+
172174
void opencv_objdetect_constants_init(int module_number)
173175
{
174176

175177
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CV_HAAR_DO_CANNY_PRUNING", CV_HAAR_DO_CANNY_PRUNING, CONST_CS | CONST_PERSISTENT);
176178
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CV_HAAR_SCALE_IMAGE", CV_HAAR_SCALE_IMAGE, CONST_CS | CONST_PERSISTENT);
177179
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CV_HAAR_FIND_BIGGEST_OBJECT", CV_HAAR_FIND_BIGGEST_OBJECT, CONST_CS | CONST_PERSISTENT);
178180
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CV_HAAR_DO_ROUGH_SEARCH", CV_HAAR_DO_ROUGH_SEARCH, CONST_CS | CONST_PERSISTENT);
181+
182+
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CASCADE_DO_CANNY_PRUNING", CASCADE_DO_CANNY_PRUNING, CONST_CS | CONST_PERSISTENT);
183+
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CASCADE_SCALE_IMAGE", CASCADE_SCALE_IMAGE, CONST_CS | CONST_PERSISTENT);
184+
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CASCADE_FIND_BIGGEST_OBJECT", CASCADE_FIND_BIGGEST_OBJECT, CONST_CS | CONST_PERSISTENT);
185+
REGISTER_NS_LONG_CONSTANT(OPENCV_NS, "CASCADE_DO_ROUGH_SEARCH", CASCADE_DO_ROUGH_SEARCH, CONST_CS | CONST_PERSISTENT);
179186
}
180187

181188
void opencv_objdetect_init(int module_number){

source/opencv2/opencv_videoio.cc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,12 @@ PHP_METHOD(opencv_video_capture, read)
171171
real_object = Z_PHP_MAT_OBJ_P(mat_real_zval);
172172
}
173173
opencv_video_capture_object *this_object = Z_PHP_VIDEO_CAPTURE_P(getThis());
174-
*(this_object->videoCapture) >> mat;
175-
real_object->mat = new Mat(mat);
176-
opencv_mat_update_property_by_c_mat(mat_real_zval, real_object->mat);
177-
RETURN_NULL();
174+
bool result = this_object->videoCapture->read(mat);
175+
if(result){
176+
real_object->mat = new Mat(mat);
177+
opencv_mat_update_property_by_c_mat(mat_real_zval, real_object->mat);
178+
}
179+
RETURN_BOOL(result);
178180
}
179181

180182
/**

0 commit comments

Comments
 (0)