mp_obj_t py_imlib_load_cascade(mp_obj_t path_obj) { py_cascade_obj_t *o =NULL; /* detection parameters */ struct cascade cascade = { .step = 2, .scale_factor = 1.25f, }; const char *path = mp_obj_str_get_str(path_obj); int res = imlib_load_cascade(&cascade, path); if (res != FR_OK) { nlr_jump(mp_obj_new_exception_msg(qstr_from_str("Imlib"), ffs_strerror(res))); } o = m_new_obj(py_cascade_obj_t); o->base.type = &py_cascade_type; o->_cobj = cascade; return o; } mp_obj_t py_imlib_load_template(mp_obj_t path_obj) { mp_obj_t image_obj =NULL; struct image *image; const char *path = mp_obj_str_get_str(path_obj); image_obj = py_image(0, 0, 0, 0); /* get image pointer */ image = py_image_cobj(image_obj); int res = imlib_load_template(image, path); if (res != FR_OK) { nlr_jump(mp_obj_new_exception_msg(qstr_from_str("Imlib"), ffs_strerror(res))); } return image_obj; }
static mp_obj_t py_sensor_snapshot() { mp_obj_t image = py_image(0, 0, 0, 0); sensor_snapshot((struct image*) py_image_cobj(image)); return image; }