Mercurial > hg > wm
comparison Meerwald/wm_bruyn_e.c @ 8:f83ef905a63d
fixing many warnings
increase capacity for coordinates in bruyn
fix some uninit. variables
| author | Peter Meerwald <pmeerw@cosy.sbg.ac.at> | 
|---|---|
| date | Tue, 22 Apr 2008 13:36:05 +0200 | 
| parents | be303a3f5ea8 | 
| children | 4987db85cfae | 
   comparison
  equal
  deleted
  inserted
  replaced
| 7:2b350281f8b0 | 8:f83ef905a63d | 
|---|---|
| 35 gray **block; | 35 gray **block; | 
| 36 gray **zone; | 36 gray **zone; | 
| 37 gray **category1, **category2; | 37 gray **category1, **category2; | 
| 38 gray maxval; | 38 gray maxval; | 
| 39 double *slope; | 39 double *slope; | 
| 40 int rows, cols, colors, format; | 40 int rows, cols, format; | 
| 41 int c; | 41 int c; | 
| 42 int i, j; | 42 int i, j; | 
| 43 int r; | |
| 44 int n; | 43 int n; | 
| 45 int col, row; | 44 int col, row; | 
| 46 int bwidth, bheight; | |
| 47 int n_block; | 45 int n_block; | 
| 48 int skipping = 0; | 46 int skipping = 0; | 
| 49 | 47 | 
| 50 char signature_name[MAXPATHLEN]; | 48 char signature_name[MAXPATHLEN]; | 
| 51 char input_name[MAXPATHLEN] = "(stdin)"; | 49 char input_name[MAXPATHLEN] = "(stdin)"; | 
| 147 usage(); | 145 usage(); | 
| 148 exit(1); | 146 exit(1); | 
| 149 } | 147 } | 
| 150 | 148 | 
| 151 // open input image file or read from stdin | 149 // open input image file or read from stdin | 
| 152 if (argc == 1 && *argv[0] != '-') | 150 if (argc == 1 && *argv[0] != '-') { | 
| 153 if ((in = fopen(argv[0], "rb")) == NULL) { | 151 if ((in = fopen(argv[0], "rb")) == NULL) { | 
| 154 fprintf(stderr, "%s: unable to open input file %s\n", progname, argv[0]); | 152 fprintf(stderr, "%s: unable to open input file %s\n", progname, argv[0]); | 
| 155 exit(1); | 153 exit(1); | 
| 156 } | 154 } | 
| 157 else | 155 else | 
| 158 strcpy(input_name, argv[0]); | 156 strcpy(input_name, argv[0]); | 
| 159 | 157 } | 
| 158 | |
| 160 // read signature file and set options | 159 // read signature file and set options | 
| 161 // command line options override signature file options | 160 // command line options override signature file options | 
| 162 if (sig) { | 161 if (sig) { | 
| 163 char line[128]; | 162 char line[128]; | 
| 164 fgets(line, sizeof(line), sig); | 163 fgets(line, sizeof(line), sig); | 
| 211 fprintf(stderr, "%s: signature file not specified, use -s file option\n", progname); | 210 fprintf(stderr, "%s: signature file not specified, use -s file option\n", progname); | 
| 212 exit(1); | 211 exit(1); | 
| 213 } | 212 } | 
| 214 | 213 | 
| 215 if (pattern1 <= 0 || pattern2 <= 0 || pattern1 > NPATTERN || pattern2 > NPATTERN) { | 214 if (pattern1 <= 0 || pattern2 <= 0 || pattern1 > NPATTERN || pattern2 > NPATTERN) { | 
| 216 fprintf(stderr, "%s: invalid pattern type specified\n"); | 215 fprintf(stderr, "%s: invalid pattern type specified\n", progname); | 
| 217 exit(1); | 216 exit(1); | 
| 218 } | 217 } | 
| 219 | 218 | 
| 220 // read dimensions of input image file | 219 // read dimensions of input image file | 
| 221 pgm_readpgminit(in, &cols, &rows, &maxval, &format); | 220 pgm_readpgminit(in, &cols, &rows, &maxval, &format); | 
| 228 } | 227 } | 
| 229 n_block = blocksize * blocksize; | 228 n_block = blocksize * blocksize; | 
| 230 | 229 | 
| 231 // allocate structure to remember which blocks we already touched, | 230 // allocate structure to remember which blocks we already touched, | 
| 232 // allow plenty of room to skip over blocks | 231 // allow plenty of room to skip over blocks | 
| 233 if ((coords = alloc_coords(nbit_signature * 2)) == NULL) { | 232 if ((coords = alloc_coords(nbit_signature * 16)) == NULL) { | 
| 234 fprintf(stderr, "%s: unable to allocate memory\n", progname); | 233 fprintf(stderr, "%s: unable to allocate memory\n", progname); | 
| 235 exit(1); | 234 exit(1); | 
| 236 } | 235 } | 
| 237 | 236 | 
| 238 // read in input image file | 237 // read in input image file | 
| 378 fprintf(stderr, "\n"); | 377 fprintf(stderr, "\n"); | 
| 379 } | 378 } | 
| 380 | 379 | 
| 381 // calculate mean values for zone/categories | 380 // calculate mean values for zone/categories | 
| 382 mean_1A = mean_1B = mean_2A = mean_2B = mean_1 = mean_2 = 0.0; | 381 mean_1A = mean_1B = mean_2A = mean_2B = mean_1 = mean_2 = 0.0; | 
| 382 mean__1A = mean__1B = mean__2A = mean__2B = 0.0; | |
| 383 n_1A = n_1B = n_2A = n_2B = n_1 = n_2 = 0; | 383 n_1A = n_1B = n_2A = n_2B = n_1 = n_2 = 0; | 
| 384 for (i = 0; i < blocksize; i++) | 384 for (i = 0; i < blocksize; i++) | 
| 385 for (j = 0; j < blocksize; j++) { | 385 for (j = 0; j < blocksize; j++) { | 
| 386 gray pixel = image[yb * blocksize + j][xb * blocksize + i]; | 386 gray pixel = image[yb * blocksize + j][xb * blocksize + i]; | 
| 387 int pixel_zone = zone[j][i]; | 387 int pixel_zone = zone[j][i]; | 
