#ifndef CMPI_H #define CMPI_H ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// #include #include #include ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// #define LIM_MIN 0.05 #define INF 1000000000 ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// //estrutura para criar a mascara do operador typedef struct kernel_ { //deslocamento dos vizinhos int *adj_x; int *adj_y; //peso de cada um dos vizinhos double *w; //numero de adjacentes int n_adj; } kernel; //estrutura responsavel pelo armazenamento das diferentes escala das imagens typedef struct image_mult_escale_ { int num_scales; //numero de escalas image *images[NUM_SCALE]; //imagens nas escalas {0..num_scales-1} image *edges[NUM_SCALE]; //gradientes norms. nas escalas {0..num_scales-1} } image_mult_scale; ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// void copy_image(image *in, image *out); void reduce_image(image *in, image *out); int num_scales_image(int dim_x); void create_image_mult_scale(image_mult_scale *mult_scale, char * name_image_in); double distance(int px, int py, int qx, int qy); void create_kernel_circular(kernel *adj, double raio); void create_kernel_sobel(kernel *adj); void gaussian_kernel(kernel *adj, double raio); void sobel_x(kernel *adj); void sobel_y(kernel *adj); int filter_pixel(image *img, int x, int y, kernel *adj); void extract_edges(image *img, image *img_edges); #endif // Last edited on 2011-01-19 15:57:40 by stolfilocal