From 1ce0b86124d5607c5b51afc5be50b8ddc93b8c39 Mon Sep 17 00:00:00 2001 From: mutantturkey Date: Mon, 2 Jul 2012 09:13:02 -0400 Subject: updated makefile --- fly-tools/background/pixel.c | 185 ++++++++++++++++++++++++++++++++++++ fly-tools/derive-background/pixel.c | 185 ------------------------------------ 2 files changed, 185 insertions(+), 185 deletions(-) create mode 100644 fly-tools/background/pixel.c delete mode 100644 fly-tools/derive-background/pixel.c (limited to 'fly-tools') diff --git a/fly-tools/background/pixel.c b/fly-tools/background/pixel.c new file mode 100644 index 0000000..2330678 --- /dev/null +++ b/fly-tools/background/pixel.c @@ -0,0 +1,185 @@ +#include +#include +#include +#include +#include +#include + +//#define round(x)((x)>=0?(int)((x)+0.5):(int)((x)-0.5)) +#define round(x)((int)((x)+0.5)) +#define ThrowWandException(wand) { char *description; ExceptionType severity; description=MagickGetException(wand,&severity); (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); description=(char *) MagickRelinquishMemory(description); exit(-1); } + +int findmax (uint8_t *p, int n) +{ + int mx = 0, v = p[0]; + for (int i = 1; i < n; i++) { + if (p[i] > v) { + v = p[i]; + mx = i; + } + } + return mx; +} + +int main(int argc, char **argv ) { + + MagickWand *magick_wand, *first_wand, *output_wand; + PixelIterator *input_iterator, *output_iterator; + PixelWand **pixels, *p_out; + + double green, red, blue; + + int i,j, k, x, y; + int image = 0; + int nImages = 0; + + unsigned long height, width; + + + char filename[256]; + char rgb[128]; + char *temp; + + FILE *input_file; + + uint8_t ****array; + uint8_t ***output; + + // open the first image and get the height and width + first_wand = NewMagickWand(); + if(MagickReadImage(first_wand, argv[2]) == MagickFalse) { + ThrowWandException(first_wand); + } + + height = MagickGetImageHeight(first_wand); + width = MagickGetImageWidth(first_wand); + + first_wand = DestroyMagickWand(first_wand); + + printf("height: %ld width:%ld \n", height, width); + + + // count how many images there are in the input file + FILE *count = fopen( argv[1], "r"); + if(count != NULL) { + while((fgets(filename, sizeof(filename), count)) != NULL) { + nImages++; + } + fclose(count); + } + + printf("number of images: %d \n", nImages); + + + // initialize the storage arrays + output = calloc(height, sizeof(output[0])); + for(i = 0; i < height; i++) { + output[i] = calloc(width, sizeof(output[0][0])); + for(j = 0; j < width; j++) { + output[i][j] = calloc(3, sizeof(output[0][0][0])); + } + } + + array = calloc(nImages, sizeof(array[0])); + for(i = 0; i < nImages; i++) { + array[i] = calloc(height, sizeof(array[0][0])); + for(j = 0; j < (long) height; j++) { + array[i][j] = calloc(width, sizeof(array[0][0][0])); + for(k = 0; k < width; k++){ + array[i][j][k] = calloc(3, sizeof(array[0][0][0][0])); + } + } + } + + MagickWandGenesis(); + + // store each pixel in the storage array. array[nImage][height][width][ { R, G, B} ] + input_file = fopen ( argv[1], "r" ); + if ( input_file != NULL ) { + while ((fgets(filename, sizeof(filename), input_file)) != NULL ) { + temp = strchr(filename, '\n'); + if (temp != NULL) *temp = '\0'; + + magick_wand = NewMagickWand(); + MagickReadImage(magick_wand, filename); + + input_iterator = NewPixelIterator(magick_wand); + + printf("Image number:%d Filename: %s \n", image, filename); + for (i=0; i -#include -#include -#include -#include -#include - -//#define round(x)((x)>=0?(int)((x)+0.5):(int)((x)-0.5)) -#define round(x)((int)((x)+0.5)) -#define ThrowWandException(wand) { char *description; ExceptionType severity; description=MagickGetException(wand,&severity); (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); description=(char *) MagickRelinquishMemory(description); exit(-1); } - -int findmax (uint8_t *p, int n) -{ - int mx = 0, v = p[0]; - for (int i = 1; i < n; i++) { - if (p[i] > v) { - v = p[i]; - mx = i; - } - } - return mx; -} - -int main(int argc, char **argv ) { - - MagickWand *magick_wand, *first_wand, *output_wand; - PixelIterator *input_iterator, *output_iterator; - PixelWand **pixels, *p_out; - - double green, red, blue; - - int i,j, k, x, y; - int image = 0; - int nImages = 0; - - unsigned long height, width; - - - char filename[256]; - char rgb[128]; - char *temp; - - FILE *input_file; - - uint8_t ****array; - uint8_t ***output; - - // open the first image and get the height and width - first_wand = NewMagickWand(); - if(MagickReadImage(first_wand, argv[2]) == MagickFalse) { - ThrowWandException(first_wand); - } - - height = MagickGetImageHeight(first_wand); - width = MagickGetImageWidth(first_wand); - - first_wand = DestroyMagickWand(first_wand); - - printf("height: %ld width:%ld \n", height, width); - - - // count how many images there are in the input file - FILE *count = fopen( argv[1], "r"); - if(count != NULL) { - while((fgets(filename, sizeof(filename), count)) != NULL) { - nImages++; - } - fclose(count); - } - - printf("number of images: %d \n", nImages); - - - // initialize the storage arrays - output = calloc(height, sizeof(output[0])); - for(i = 0; i < height; i++) { - output[i] = calloc(width, sizeof(output[0][0])); - for(j = 0; j < width; j++) { - output[i][j] = calloc(3, sizeof(output[0][0][0])); - } - } - - array = calloc(nImages, sizeof(array[0])); - for(i = 0; i < nImages; i++) { - array[i] = calloc(height, sizeof(array[0][0])); - for(j = 0; j < (long) height; j++) { - array[i][j] = calloc(width, sizeof(array[0][0][0])); - for(k = 0; k < width; k++){ - array[i][j][k] = calloc(3, sizeof(array[0][0][0][0])); - } - } - } - - MagickWandGenesis(); - - // store each pixel in the storage array. array[nImage][height][width][ { R, G, B} ] - input_file = fopen ( argv[1], "r" ); - if ( input_file != NULL ) { - while ((fgets(filename, sizeof(filename), input_file)) != NULL ) { - temp = strchr(filename, '\n'); - if (temp != NULL) *temp = '\0'; - - magick_wand = NewMagickWand(); - MagickReadImage(magick_wand, filename); - - input_iterator = NewPixelIterator(magick_wand); - - printf("Image number:%d Filename: %s \n", image, filename); - for (i=0; i