@@ -493,48 +493,48 @@ mp_obj_t cv2_imgproc_morphologyEx(size_t n_args, const mp_obj_t *pos_args, mp_ma
493
493
return mat_to_mp_obj (dst);
494
494
}
495
495
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
+ }
538
538
539
539
mp_obj_t cv2_imgproc_rectangle (size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
540
540
// Define the arguments
0 commit comments