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];

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.