comparison Meerwald/wm_bruyn_d.c @ 20:bd669312f068

suppress warnings, fix link errors
author Peter Meerwald-Stadler <pmeerw@pmeerw.net>
date Sat, 28 Jan 2023 23:54:58 +0100
parents 4987db85cfae
children
comparison
equal deleted inserted replaced
19:0fffb6f03ebf 20:bd669312f068
39 double *slope; 39 double *slope;
40 int rows, cols, format; 40 int rows, cols, format;
41 int c; 41 int c;
42 int i, j; 42 int i, j;
43 int n; 43 int n;
44 int col, row; 44 int row;
45 int n_block; 45 int n_block;
46 46
47 char signature_name[MAXPATHLEN]; 47 char signature_name[MAXPATHLEN];
48 char input_name[MAXPATHLEN] = "(stdin)"; 48 char input_name[MAXPATHLEN] = "(stdin)";
49 char output_name[MAXPATHLEN] = "(stdout)"; 49 char output_name[MAXPATHLEN] = "(stdout)";
70 switch (c) { 70 switch (c) {
71 case 'h': 71 case 'h':
72 case '?': 72 case '?':
73 usage(); 73 usage();
74 break; 74 break;
75 case 'k': 75 case 'k':
76 skipping = 1; 76 skipping = 1;
77 break; 77 break;
78 case 'n': 78 case 'n':
79 nbit_signature = atoi(optarg); 79 nbit_signature = atoi(optarg);
80 if (nbit_signature <= 0 || nbit_signature > NBITSIGNATURE) { 80 if (nbit_signature <= 0 || nbit_signature > NBITSIGNATURE) {
241 pgm_readpgmrow(in, image[row], cols, maxval, format); 241 pgm_readpgmrow(in, image[row], cols, maxval, format);
242 242
243 fclose(in); 243 fclose(in);
244 244
245 row = 0; 245 row = 0;
246 col = 0;
247 246
248 // allocate memory for one block 247 // allocate memory for one block
249 block = alloc_grays(blocksize, blocksize); 248 block = alloc_grays(blocksize, blocksize);
250 249
251 // allocate memory for zone classification 250 // allocate memory for zone classification
253 252
254 // allocate memory for category classification 253 // allocate memory for category classification
255 category1 = alloc_grays(blocksize, blocksize); 254 category1 = alloc_grays(blocksize, blocksize);
256 category2 = alloc_grays(blocksize, blocksize); 255 category2 = alloc_grays(blocksize, blocksize);
257 256
258 // set up category classification array according to 257 // set up category classification array according to
259 // pattern type parameter 258 // pattern type parameter
260 for (i = 0; i < blocksize; i++) 259 for (i = 0; i < blocksize; i++)
261 for (j = 0; j < blocksize; j++) { 260 for (j = 0; j < blocksize; j++) {
262 category1[j][i] = lookup_pattern(pattern1, i, j); 261 category1[j][i] = lookup_pattern(pattern1, i, j);
263 category2[j][i] = lookup_pattern(pattern2, i, j); 262 category2[j][i] = lookup_pattern(pattern2, i, j);
288 yb = random() % (rows / blocksize); 287 yb = random() % (rows / blocksize);
289 } while (add_coord(coords, xb, yb) < 0); 288 } while (add_coord(coords, xb, yb) < 0);
290 289
291 // copy image block 290 // copy image block
292 fprintf(stderr, "XXX1 %d %d %d\n", xb*blocksize, yb*blocksize, blocksize); 291 fprintf(stderr, "XXX1 %d %d %d\n", xb*blocksize, yb*blocksize, blocksize);
293 copy_grays_to_block(block, image, xb * blocksize, yb * blocksize, blocksize, blocksize); 292 copy_grays_to_block(block, image, xb * blocksize, yb * blocksize, blocksize, blocksize);
294 fprintf(stderr, "XXX2\n"); 293 fprintf(stderr, "XXX2\n");
295 294
296 if (verbose > 0) 295 if (verbose > 0)
297 fprintf(stderr, "detecting bit #%d in block at (%d/%d)\n", n, xb * blocksize, yb * blocksize); 296 fprintf(stderr, "detecting bit #%d in block at (%d/%d)\n", n, xb * blocksize, yb * blocksize);
298 297
299 // sort luminance values in block to represent increasing function F 298 // sort luminance values in block to represent increasing function F
300 sort_grays(block[0], n_block); 299 sort_grays(block[0], n_block);

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