/* Call im_label_regions() via arg vector. */ static int label_regions_vec( im_object *argv ) { IMAGE *test = argv[0]; IMAGE *mask = argv[1]; int *serial = (int *) argv[2]; return( im_label_regions( test, mask, serial ) ); }
VALUE img_label_regions(VALUE obj) { int segments; GetImg(obj, data, im); OutImg(obj, new, data_new, im_new); if (im_label_regions(im, im_new, &segments)) vips_lib_error(); return rb_ary_new3(2, new, segments); }
int im_segment( IMAGE *test, IMAGE *mask, int *segments ) { return( im_label_regions( test, mask, segments ) ); }