static mp_obj_t py_image_morph(mp_obj_t image_obj, mp_obj_t ksize_obj) { image_t *image = NULL; image = py_image_cobj(image_obj); /* sanity checks */ PY_ASSERT_TRUE(image->bpp==1); imlib_morph(image, NULL, mp_obj_get_int(ksize_obj)); return mp_const_none; }
void imlib_edge_simple(image_t *src, rectangle_t *roi, int low_thresh, int high_thresh) { imlib_morph(src, 1, kernel_high_pass_3, 1.0f, 0.0f, false, 0, false, NULL); list_t thresholds; list_init(&thresholds, sizeof(color_thresholds_list_lnk_data_t)); color_thresholds_list_lnk_data_t lnk_data; lnk_data.LMin=low_thresh; lnk_data.LMax=high_thresh; list_push_back(&thresholds, &lnk_data); imlib_binary(src, src, &thresholds, false, false, NULL); list_free(&thresholds); imlib_erode(src, 1, 2, NULL); }
static mp_obj_t py_image_morph(mp_obj_t image_obj, mp_obj_t ksize_obj) { image_t *image = NULL; image = py_image_cobj(image_obj); /* sanity checks */ PY_ASSERT_TRUE_MSG(image->bpp == 1, "This function is only supported on GRAYSCALE images"); imlib_morph(image, NULL, mp_obj_get_int(ksize_obj)); return mp_const_none; }