Cleanup py_image.c

* Code cleanups in py_image.c
This commit is contained in:
iabdalkader 2016-02-22 19:17:14 +02:00
parent 124a31772c
commit ddcb170af0

View File

@ -544,11 +544,8 @@ static mp_obj_t py_image_centroid(uint n_args, const mp_obj_t *args, mp_map_t *k
int x, y; int x, y;
int sum = imlib_centroid(arg_img, &x, &y, &arg_r); int sum = imlib_centroid(arg_img, &x, &y, &arg_r);
mp_obj_t result[3]; return mp_obj_new_tuple(3, (mp_obj_t[3])
result[0] = mp_obj_new_int(sum); {mp_obj_new_int(sum), mp_obj_new_int(x), mp_obj_new_int(y)});
result[1] = mp_obj_new_int(x);
result[2] = mp_obj_new_int(y);
return mp_obj_new_tuple(3, result);
} }
static mp_obj_t py_image_orientation_radians(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) static mp_obj_t py_image_orientation_radians(uint n_args, const mp_obj_t *args, mp_map_t *kw_args)
@ -562,12 +559,8 @@ static mp_obj_t py_image_orientation_radians(uint n_args, const mp_obj_t *args,
int sum, x, y; int sum, x, y;
float o = imlib_orientation_radians(arg_img, &sum, &x, &y, &arg_r); float o = imlib_orientation_radians(arg_img, &sum, &x, &y, &arg_r);
mp_obj_t result[4]; return mp_obj_new_tuple(4, (mp_obj_t[4])
result[0] = mp_obj_new_int(sum); {mp_obj_new_int(sum), mp_obj_new_int(x), mp_obj_new_int(y), mp_obj_new_float(o)});
result[1] = mp_obj_new_int(x);
result[2] = mp_obj_new_int(y);
result[3] = mp_obj_new_float(o);
return mp_obj_new_tuple(4, result);
} }
static mp_obj_t py_image_orientation_degrees(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) static mp_obj_t py_image_orientation_degrees(uint n_args, const mp_obj_t *args, mp_map_t *kw_args)
@ -581,12 +574,8 @@ static mp_obj_t py_image_orientation_degrees(uint n_args, const mp_obj_t *args,
int sum, x, y; int sum, x, y;
float o = imlib_orientation_degrees(arg_img, &sum, &x, &y, &arg_r); float o = imlib_orientation_degrees(arg_img, &sum, &x, &y, &arg_r);
mp_obj_t result[4]; return mp_obj_new_tuple(4, (mp_obj_t[4])
result[0] = mp_obj_new_int(sum); {mp_obj_new_int(sum), mp_obj_new_int(x), mp_obj_new_int(y), mp_obj_new_float(o)});
result[1] = mp_obj_new_int(x);
result[2] = mp_obj_new_int(y);
result[3] = mp_obj_new_float(o);
return mp_obj_new_tuple(4, result);
} }
static mp_obj_t py_image_negate(mp_obj_t img_obj) static mp_obj_t py_image_negate(mp_obj_t img_obj)
@ -906,33 +895,24 @@ static mp_obj_t py_image_dilate(mp_obj_t image_obj, mp_obj_t ksize_obj)
static mp_obj_t py_image_find_blobs(mp_obj_t image_obj) static mp_obj_t py_image_find_blobs(mp_obj_t image_obj)
{ {
/* C stuff */ // Get image pointer
array_t *blobs; image_t *image = py_image_cobj(image_obj);
struct image *image;
mp_obj_t blob_obj[6];
/* MP List */ // Run blob detector
array_t *blobs = imlib_count_blobs(image);
// Add blobs to Python list
mp_obj_t objects_list = mp_const_none; mp_obj_t objects_list = mp_const_none;
/* get image pointer */
image = py_image_cobj(image_obj);
/* run color dector */
blobs = imlib_count_blobs(image);
/* Create empty Python list */
objects_list = mp_obj_new_list(0, NULL);
if (array_length(blobs)) { if (array_length(blobs)) {
objects_list = mp_obj_new_list(0, NULL);
for (int j=0; j<array_length(blobs); j++) { for (int j=0; j<array_length(blobs); j++) {
blob_t *r = array_at(blobs, j); blob_t *r = array_at(blobs, j);
blob_obj[0] = mp_obj_new_int(r->x); mp_obj_t blob[6] = {
blob_obj[1] = mp_obj_new_int(r->y); mp_obj_new_int(r->x), mp_obj_new_int(r->y), mp_obj_new_int(r->w),
blob_obj[2] = mp_obj_new_int(r->w); mp_obj_new_int(r->h), mp_obj_new_int(r->c), mp_obj_new_int(r->id)
blob_obj[3] = mp_obj_new_int(r->h); };
blob_obj[4] = mp_obj_new_int(r->c); mp_obj_list_append(objects_list, mp_obj_new_tuple(6, blob));
blob_obj[5] = mp_obj_new_int(r->id);
mp_obj_list_append(objects_list, mp_obj_new_tuple(6, blob_obj));
} }
} }
array_free(blobs); array_free(blobs);