#ifndef EKD_CV_H #define EKD_CV_H #include #include #include #include #include #include #define NUM_DNEG_IMAGES 134 #define NUM_DPOS_IMAGES 99 #define NUM_IMAGES 233 #define IMAGE_WIDTH 144 #define IMAGE_HEIGHT 176 #define FEATURE_VECTOR_SIZE 25344 typedef struct { uint16_t signature; uint32_t file_size; uint32_t reserved; uint32_t data_offset; } bmp_header_t; typedef struct { uint32_t size; uint32_t width; uint32_t height; uint16_t planes; uint16_t bit_depth; uint32_t compression; uint32_t image_size; uint32_t x_pixels_per_meter; uint32_t y_pixels_per_meter; uint32_t colours_used; uint32_t important_colours; } bmp_info_t; // Prototypes void read_bmp(char* filename, uint8_t** data_flatten); void read_dir(char* dneg_path, char* dpos_path, char** file_name_arr); void flatten_image(uint8_t** image, float* image_flattened); void shuffle_data_labels(float** data, int32_t* labels, uint8_t num_images); #endif /* EKD_CV_H */