Skip to content

Commit 6590714

Browse files
committed
Downgrade to OpenCV 4.11
Fixes #1
1 parent 2f9b0f7 commit 6590714

File tree

5 files changed

+56
-58
lines changed

5 files changed

+56
-58
lines changed

src/convert.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ uint8_t mat_depth_to_ndarray_type(int depth)
1616
case CV_16U: return NDARRAY_UINT16;
1717
case CV_16S: return NDARRAY_INT16;
1818
case CV_32F: return NDARRAY_FLOAT;
19-
case CV_Bool: return NDARRAY_BOOL;
2019
default: mp_raise_TypeError(MP_ERROR_TEXT("Unsupported Mat depth"));
2120
}
2221
}
@@ -29,7 +28,6 @@ int ndarray_type_to_mat_depth(uint8_t type)
2928
case NDARRAY_UINT16: return CV_16U;
3029
case NDARRAY_INT16: return CV_16S;
3130
case NDARRAY_FLOAT: return CV_32F;
32-
case NDARRAY_BOOL: return CV_Bool;
3331
default: mp_raise_TypeError(MP_ERROR_TEXT("Unsupported ndarray type"));
3432
}
3533
}

src/imgproc.cpp

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -493,48 +493,48 @@ mp_obj_t cv2_imgproc_morphologyEx(size_t n_args, const mp_obj_t *pos_args, mp_ma
493493
return mat_to_mp_obj(dst);
494494
}
495495

496-
// mp_obj_t cv2_imgproc_putText(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
497-
// // Define the arguments
498-
// enum { ARG_img, ARG_text, ARG_org, ARG_fontFace, ARG_fontScale, ARG_color, ARG_thickness, ARG_lineType, ARG_bottomLeftOrigin };
499-
// static const mp_arg_t allowed_args[] = {
500-
// { MP_QSTR_img, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
501-
// { MP_QSTR_text, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
502-
// { MP_QSTR_org, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
503-
// { MP_QSTR_fontFace, MP_ARG_REQUIRED | MP_ARG_INT, { .u_int = FONT_HERSHEY_SIMPLEX } },
504-
// { MP_QSTR_fontScale, MP_ARG_REQUIRED, { .u_obj = mp_const_none } },
505-
// { MP_QSTR_color, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
506-
// { MP_QSTR_thickness, MP_ARG_INT, { .u_int = 1 } },
507-
// { MP_QSTR_lineType, MP_ARG_INT, { .u_int = LINE_8 } },
508-
// { MP_QSTR_bottomLeftOrigin, MP_ARG_BOOL, { .u_bool = 0 } },
509-
// };
510-
511-
// // Parse the arguments
512-
// mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
513-
// mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
514-
515-
// // Convert arguments to required types
516-
// Mat img = mp_obj_to_mat(args[ARG_img].u_obj);
517-
// size_t len;
518-
// const char *text_str = mp_obj_str_get_data(args[ARG_text].u_obj, &len);
519-
// String text(text_str, len);
520-
// Point org = mp_obj_to_point(args[ARG_org].u_obj);
521-
// int fontFace = args[ARG_fontFace].u_int;
522-
// mp_float_t fontScale = mp_obj_get_float(args[ARG_fontScale].u_obj);
523-
// Scalar color = mp_obj_to_scalar(args[ARG_color].u_obj);
524-
// int thickness = args[ARG_thickness].u_int;
525-
// int lineType = args[ARG_lineType].u_int;
526-
// bool bottomLeftOrigin = args[ARG_bottomLeftOrigin].u_bool;
527-
528-
// // Call the corresponding OpenCV function
529-
// try {
530-
// putText(img, text, org, fontFace, fontScale, color, thickness, lineType, bottomLeftOrigin);
531-
// } catch(Exception& e) {
532-
// mp_raise_msg(&mp_type_Exception, MP_ERROR_TEXT(e.what()));
533-
// }
534-
535-
// // Return the result
536-
// return mat_to_mp_obj(img);
537-
// }
496+
mp_obj_t cv2_imgproc_putText(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
497+
// Define the arguments
498+
enum { ARG_img, ARG_text, ARG_org, ARG_fontFace, ARG_fontScale, ARG_color, ARG_thickness, ARG_lineType, ARG_bottomLeftOrigin };
499+
static const mp_arg_t allowed_args[] = {
500+
{ MP_QSTR_img, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
501+
{ MP_QSTR_text, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
502+
{ MP_QSTR_org, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
503+
{ MP_QSTR_fontFace, MP_ARG_REQUIRED | MP_ARG_INT, { .u_int = FONT_HERSHEY_SIMPLEX } },
504+
{ MP_QSTR_fontScale, MP_ARG_REQUIRED, { .u_obj = mp_const_none } },
505+
{ MP_QSTR_color, MP_ARG_REQUIRED | MP_ARG_OBJ, { .u_obj = MP_OBJ_NULL } },
506+
{ MP_QSTR_thickness, MP_ARG_INT, { .u_int = 1 } },
507+
{ MP_QSTR_lineType, MP_ARG_INT, { .u_int = LINE_8 } },
508+
{ MP_QSTR_bottomLeftOrigin, MP_ARG_BOOL, { .u_bool = 0 } },
509+
};
510+
511+
// Parse the arguments
512+
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
513+
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
514+
515+
// Convert arguments to required types
516+
Mat img = mp_obj_to_mat(args[ARG_img].u_obj);
517+
size_t len;
518+
const char *text_str = mp_obj_str_get_data(args[ARG_text].u_obj, &len);
519+
String text(text_str, len);
520+
Point org = mp_obj_to_point(args[ARG_org].u_obj);
521+
int fontFace = args[ARG_fontFace].u_int;
522+
mp_float_t fontScale = mp_obj_get_float(args[ARG_fontScale].u_obj);
523+
Scalar color = mp_obj_to_scalar(args[ARG_color].u_obj);
524+
int thickness = args[ARG_thickness].u_int;
525+
int lineType = args[ARG_lineType].u_int;
526+
bool bottomLeftOrigin = args[ARG_bottomLeftOrigin].u_bool;
527+
528+
// Call the corresponding OpenCV function
529+
try {
530+
putText(img, text, org, fontFace, fontScale, color, thickness, lineType, bottomLeftOrigin);
531+
} catch(Exception& e) {
532+
mp_raise_msg(&mp_type_Exception, MP_ERROR_TEXT(e.what()));
533+
}
534+
535+
// Return the result
536+
return mat_to_mp_obj(img);
537+
}
538538

539539
mp_obj_t cv2_imgproc_rectangle(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
540540
// Define the arguments

src/imgproc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ extern mp_obj_t cv2_imgproc_fillPoly(size_t n_args, const mp_obj_t *pos_args, mp
1313
extern mp_obj_t cv2_imgproc_getStructuringElement(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
1414
extern mp_obj_t cv2_imgproc_line(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
1515
extern mp_obj_t cv2_imgproc_morphologyEx(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
16-
// extern mp_obj_t cv2_imgproc_putText(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
16+
extern mp_obj_t cv2_imgproc_putText(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
1717
extern mp_obj_t cv2_imgproc_rectangle(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);

src/opencv

Submodule opencv updated 2574 files

src/opencv_upy.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_fillPoly_obj, 3, cv2_imgproc_fillP
2323
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_getStructuringElement_obj, 2, cv2_imgproc_getStructuringElement);
2424
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_line_obj, 4, cv2_imgproc_line);
2525
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_morphologyEx_obj, 3, cv2_imgproc_morphologyEx);
26-
// static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_putText_obj, 6, cv2_imgproc_putText);
26+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_putText_obj, 6, cv2_imgproc_putText);
2727
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgproc_rectangle_obj, 4, cv2_imgproc_rectangle);
2828

2929
////////////////////////////////////////////////////////////////////////////////
@@ -50,9 +50,9 @@ static const mp_rom_map_elem_t cv2_module_globals_table[] = {
5050
{ MP_ROM_QSTR(MP_QSTR_BORDER_REFLECT), MP_ROM_INT(2) },
5151
{ MP_ROM_QSTR(MP_QSTR_BORDER_WRAP), MP_ROM_INT(3) },
5252
{ MP_ROM_QSTR(MP_QSTR_BORDER_REFLECT_101), MP_ROM_INT(4) },
53+
{ MP_ROM_QSTR(MP_QSTR_BORDER_TRANSPARENT), MP_ROM_INT(5) },
5354
{ MP_ROM_QSTR(MP_QSTR_BORDER_REFLECT101), MP_ROM_INT(4) },
5455
{ MP_ROM_QSTR(MP_QSTR_BORDER_DEFAULT), MP_ROM_INT(4) },
55-
{ MP_ROM_QSTR(MP_QSTR_BORDER_TRANSPARENT), MP_ROM_INT(5) },
5656
{ MP_ROM_QSTR(MP_QSTR_BORDER_ISOLATED), MP_ROM_INT(16) },
5757

5858
// Morphology operation types, from opencv2/imgproc.hpp
@@ -129,15 +129,15 @@ static const mp_rom_map_elem_t cv2_module_globals_table[] = {
129129
{ MP_ROM_QSTR(MP_QSTR_LINE_AA), MP_ROM_INT(16) },
130130

131131
// Fonts, from opencv2/imgproc.hpp
132-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_SIMPLEX), MP_ROM_INT(0) },
133-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_PLAIN), MP_ROM_INT(1) },
134-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_DUPLEX), MP_ROM_INT(2) },
135-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_COMPLEX), MP_ROM_INT(3) },
136-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_TRIPLEX), MP_ROM_INT(4) },
137-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_COMPLEX_SMALL), MP_ROM_INT(5) },
138-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_SCRIPT_SIMPLEX), MP_ROM_INT(6) },
139-
// { MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_SCRIPT_COMPLEX), MP_ROM_INT(7) },
140-
// { MP_ROM_QSTR(MP_QSTR_FONT_ITALIC), MP_ROM_INT(16) },
132+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_SIMPLEX), MP_ROM_INT(0) },
133+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_PLAIN), MP_ROM_INT(1) },
134+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_DUPLEX), MP_ROM_INT(2) },
135+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_COMPLEX), MP_ROM_INT(3) },
136+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_TRIPLEX), MP_ROM_INT(4) },
137+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_COMPLEX_SMALL), MP_ROM_INT(5) },
138+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_SCRIPT_SIMPLEX), MP_ROM_INT(6) },
139+
{ MP_ROM_QSTR(MP_QSTR_FONT_HERSHEY_SCRIPT_COMPLEX), MP_ROM_INT(7) },
140+
{ MP_ROM_QSTR(MP_QSTR_FONT_ITALIC), MP_ROM_INT(16) },
141141

142142
// Marker types, from opencv2/imgproc.hpp
143143
{ MP_ROM_QSTR(MP_QSTR_MARKER_CROSS), MP_ROM_INT(0) },
@@ -172,7 +172,7 @@ static const mp_rom_map_elem_t cv2_module_globals_table[] = {
172172
{ MP_ROM_QSTR(MP_QSTR_getStructuringElement), MP_ROM_PTR(&cv2_imgproc_getStructuringElement_obj) },
173173
{ MP_ROM_QSTR(MP_QSTR_line), MP_ROM_PTR(&cv2_imgproc_line_obj) },
174174
{ MP_ROM_QSTR(MP_QSTR_morphologyEx), MP_ROM_PTR(&cv2_imgproc_morphologyEx_obj) },
175-
// { MP_ROM_QSTR(MP_QSTR_putText), MP_ROM_PTR(&cv2_imgproc_putText_obj) },
175+
{ MP_ROM_QSTR(MP_QSTR_putText), MP_ROM_PTR(&cv2_imgproc_putText_obj) },
176176
{ MP_ROM_QSTR(MP_QSTR_rectangle), MP_ROM_PTR(&cv2_imgproc_rectangle_obj) },
177177
};
178178
static MP_DEFINE_CONST_DICT(cv2_module_globals, cv2_module_globals_table);

0 commit comments

Comments
 (0)