Mercurial > hg > wm
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); |
