X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fsensorboard%2Fimg_processing.h;fp=projects%2Fmicrob2010%2Fsensorboard%2Fimg_processing.h;h=0000000000000000000000000000000000000000;hp=4c06237951317d2a10ca9b21e7cc27de90fd2ac5;hb=8d6a47e9e21a9a31f4bc12d32fb3d11091a4b305;hpb=821f753c0f88aff895d9feae59c442a6c446f96b diff --git a/projects/microb2010/sensorboard/img_processing.h b/projects/microb2010/sensorboard/img_processing.h deleted file mode 100644 index 4c06237..0000000 --- a/projects/microb2010/sensorboard/img_processing.h +++ /dev/null @@ -1,111 +0,0 @@ - - - -typedef struct _Object_bb -{ - uint8_t x_min; - uint8_t x_max; - uint8_t y_min; - uint8_t y_max; - uint16_t len; -}Object_bb; - -#define POLY_MAX_PTS 12 -typedef struct _Object_poly -{ - uint16_t pixels_perim; - uint16_t pts_num; - point_t pts[POLY_MAX_PTS]; - uint16_t len; - uint8_t color; -}Object_poly; - - -typedef struct _zone -{ - point_t p; - uint8_t h:7; - uint8_t valid:1; -}zone; - - -typedef struct _drop_column_zone -{ - uint8_t valid; - uint8_t z; - uint8_t h; -}drop_column_zone; - -typedef struct _drop_lintel_zone -{ - uint8_t valid; - uint8_t z1; - uint8_t h; - uint8_t z2; -}drop_lintel_zone; - - - - -#define MAX_ZONES 30 - -#define MAX_SISTER_PER_ZONE 1 - - - -unsigned char *parcour_img(unsigned char* data, int16_t x_in, int16_t y_in, Object_bb *sac_obj, Object_poly *sac_obj_poly, int16_t max_obj); - -float vect_get_angle(vect_t*v, vect_t* w); - -void object_poly_get_min_ar(Object_poly *o, unsigned int *pts_index_out, vect_t *v_out, vect_t *r1, vect_t*r2); - -void draw_pt_vect(unsigned char *buf, int16_t x_in, int16_t y_in, vect_t *v, point_t p); - -void vect_rot_trigo(vect_t* v); - -int object_poly_caliper_to_rectangle(Object_poly *o, - unsigned int *pts_index_out, vect_t* caliper, - vect_t *r1, vect_t*r2, point_t *p); - -int split_rectangle(point_t *p, vect_t *r1, vect_t* r2, uint8_t max_zone, zone* zones, uint8_t color); - - - -int zone_filtre_min_surface(unsigned char* data, int16_t x_in, int16_t y_in, - uint8_t color, unsigned int num_zone, zone* p); - -void reset_drop_zone(void); -void display_drop_zones(uint8_t n_columns, uint8_t n_lintels, zone* zones); - -unsigned int solve_objects_dropping(unsigned int points, unsigned int points_max, - uint8_t n_columns, uint8_t n_lintels, - uint8_t zones_num, zone* zones, int8_t sisters[MAX_ZONES][MAX_SISTER_PER_ZONE], uint8_t working_zone); - -uint8_t process_img(unsigned char *buffer, int16_t x_in, int16_t y_in, - zone * all_zones, uint8_t max_zones); - - -uint8_t color2h(uint8_t color); -uint8_t h2color(uint8_t color); - -int8_t get_column_dropzone(unsigned char *buffer, int16_t x_in, int16_t y_in, - uint8_t working_zone, int16_t center_x, int16_t center_y, - int16_t * dropzone_x, int16_t * dropzone_y); - - -uint8_t is_temple_there(unsigned char * buffer, int16_t x_in, int16_t y_in, - uint8_t h, int16_t center_x, int16_t center_y); - - - -int8_t find_temple_dropzone(unsigned char *buffer, int16_t x_in, int16_t y_in, - uint8_t working_zone, int16_t center_x, int16_t center_y, - int16_t * dropzone_x, int16_t * dropzone_y); - -void process_img_to_zone(unsigned char *buffer, int16_t x_in, int16_t y_in); - -#define PIXEL2CM (300./27.) - - -extern uint8_t g_zone_num; -extern zone g_all_zones[MAX_ZONES];