1 module dcv.features.corner.fast.fast_10; 2 3 /* 4 Authors: Edward Rosten 5 Copyright: Copyright (c) 2006, 2008 Edward Rosten, All rights reserved. 6 7 Additional notice: 8 Module integrates FAST implementation present in the Edward Rosten's 9 github repository: https://github.com/edrosten/fast-C-src 10 */ 11 12 import core.stdc.stdlib : malloc, free, realloc; 13 14 import dcv.features.corner.fast.base; 15 16 17 int fast10_corner_score(const ubyte* p, const int *pixel, int bstart) 18 { 19 int bmin = bstart; 20 int bmax = 255; 21 int b = (bmax + bmin)/2; 22 23 /*Compute the score using binary search*/ 24 for(;;) 25 { 26 int cb = *p + b; 27 int c_b= *p - b; 28 29 30 if( p[pixel[0]] > cb) 31 if( p[pixel[1]] > cb) 32 if( p[pixel[2]] > cb) 33 if( p[pixel[3]] > cb) 34 if( p[pixel[4]] > cb) 35 if( p[pixel[5]] > cb) 36 if( p[pixel[6]] > cb) 37 if( p[pixel[7]] > cb) 38 if( p[pixel[8]] > cb) 39 if( p[pixel[9]] > cb) 40 goto is_a_corner; 41 else 42 if( p[pixel[15]] > cb) 43 goto is_a_corner; 44 else 45 goto is_not_a_corner; 46 else 47 if( p[pixel[14]] > cb) 48 if( p[pixel[15]] > cb) 49 goto is_a_corner; 50 else 51 goto is_not_a_corner; 52 else 53 goto is_not_a_corner; 54 else 55 if( p[pixel[13]] > cb) 56 if( p[pixel[14]] > cb) 57 if( p[pixel[15]] > cb) 58 goto is_a_corner; 59 else 60 goto is_not_a_corner; 61 else 62 goto is_not_a_corner; 63 else 64 goto is_not_a_corner; 65 else if( p[pixel[6]] < c_b) 66 if( p[pixel[12]] > cb) 67 if( p[pixel[13]] > cb) 68 if( p[pixel[14]] > cb) 69 if( p[pixel[15]] > cb) 70 goto is_a_corner; 71 else 72 goto is_not_a_corner; 73 else 74 goto is_not_a_corner; 75 else 76 goto is_not_a_corner; 77 else if( p[pixel[12]] < c_b) 78 if( p[pixel[7]] < c_b) 79 if( p[pixel[8]] < c_b) 80 if( p[pixel[9]] < c_b) 81 if( p[pixel[10]] < c_b) 82 if( p[pixel[11]] < c_b) 83 if( p[pixel[13]] < c_b) 84 if( p[pixel[14]] < c_b) 85 if( p[pixel[15]] < c_b) 86 goto is_a_corner; 87 else 88 goto is_not_a_corner; 89 else 90 goto is_not_a_corner; 91 else 92 goto is_not_a_corner; 93 else 94 goto is_not_a_corner; 95 else 96 goto is_not_a_corner; 97 else 98 goto is_not_a_corner; 99 else 100 goto is_not_a_corner; 101 else 102 goto is_not_a_corner; 103 else 104 goto is_not_a_corner; 105 else 106 if( p[pixel[12]] > cb) 107 if( p[pixel[13]] > cb) 108 if( p[pixel[14]] > cb) 109 if( p[pixel[15]] > cb) 110 goto is_a_corner; 111 else 112 goto is_not_a_corner; 113 else 114 goto is_not_a_corner; 115 else 116 goto is_not_a_corner; 117 else 118 goto is_not_a_corner; 119 else if( p[pixel[5]] < c_b) 120 if( p[pixel[15]] > cb) 121 if( p[pixel[11]] > cb) 122 if( p[pixel[12]] > cb) 123 if( p[pixel[13]] > cb) 124 if( p[pixel[14]] > cb) 125 goto is_a_corner; 126 else 127 goto is_not_a_corner; 128 else 129 goto is_not_a_corner; 130 else 131 goto is_not_a_corner; 132 else if( p[pixel[11]] < c_b) 133 if( p[pixel[6]] < c_b) 134 if( p[pixel[7]] < c_b) 135 if( p[pixel[8]] < c_b) 136 if( p[pixel[9]] < c_b) 137 if( p[pixel[10]] < c_b) 138 if( p[pixel[12]] < c_b) 139 if( p[pixel[13]] < c_b) 140 if( p[pixel[14]] < c_b) 141 goto is_a_corner; 142 else 143 goto is_not_a_corner; 144 else 145 goto is_not_a_corner; 146 else 147 goto is_not_a_corner; 148 else 149 goto is_not_a_corner; 150 else 151 goto is_not_a_corner; 152 else 153 goto is_not_a_corner; 154 else 155 goto is_not_a_corner; 156 else 157 goto is_not_a_corner; 158 else 159 goto is_not_a_corner; 160 else 161 if( p[pixel[6]] < c_b) 162 if( p[pixel[7]] < c_b) 163 if( p[pixel[8]] < c_b) 164 if( p[pixel[9]] < c_b) 165 if( p[pixel[10]] < c_b) 166 if( p[pixel[11]] < c_b) 167 if( p[pixel[12]] < c_b) 168 if( p[pixel[13]] < c_b) 169 if( p[pixel[14]] < c_b) 170 goto is_a_corner; 171 else 172 goto is_not_a_corner; 173 else 174 goto is_not_a_corner; 175 else 176 goto is_not_a_corner; 177 else 178 goto is_not_a_corner; 179 else 180 goto is_not_a_corner; 181 else 182 goto is_not_a_corner; 183 else 184 goto is_not_a_corner; 185 else 186 goto is_not_a_corner; 187 else 188 goto is_not_a_corner; 189 else 190 if( p[pixel[11]] > cb) 191 if( p[pixel[12]] > cb) 192 if( p[pixel[13]] > cb) 193 if( p[pixel[14]] > cb) 194 if( p[pixel[15]] > cb) 195 goto is_a_corner; 196 else 197 goto is_not_a_corner; 198 else 199 goto is_not_a_corner; 200 else 201 goto is_not_a_corner; 202 else 203 goto is_not_a_corner; 204 else if( p[pixel[11]] < c_b) 205 if( p[pixel[6]] < c_b) 206 if( p[pixel[7]] < c_b) 207 if( p[pixel[8]] < c_b) 208 if( p[pixel[9]] < c_b) 209 if( p[pixel[10]] < c_b) 210 if( p[pixel[12]] < c_b) 211 if( p[pixel[13]] < c_b) 212 if( p[pixel[14]] < c_b) 213 if( p[pixel[15]] < c_b) 214 goto is_a_corner; 215 else 216 goto is_not_a_corner; 217 else 218 goto is_not_a_corner; 219 else 220 goto is_not_a_corner; 221 else 222 goto is_not_a_corner; 223 else 224 goto is_not_a_corner; 225 else 226 goto is_not_a_corner; 227 else 228 goto is_not_a_corner; 229 else 230 goto is_not_a_corner; 231 else 232 goto is_not_a_corner; 233 else 234 goto is_not_a_corner; 235 else if( p[pixel[4]] < c_b) 236 if( p[pixel[14]] > cb) 237 if( p[pixel[10]] > cb) 238 if( p[pixel[11]] > cb) 239 if( p[pixel[12]] > cb) 240 if( p[pixel[13]] > cb) 241 if( p[pixel[15]] > cb) 242 goto is_a_corner; 243 else 244 if( p[pixel[5]] > cb) 245 if( p[pixel[6]] > cb) 246 if( p[pixel[7]] > cb) 247 if( p[pixel[8]] > cb) 248 if( p[pixel[9]] > cb) 249 goto is_a_corner; 250 else 251 goto is_not_a_corner; 252 else 253 goto is_not_a_corner; 254 else 255 goto is_not_a_corner; 256 else 257 goto is_not_a_corner; 258 else 259 goto is_not_a_corner; 260 else 261 goto is_not_a_corner; 262 else 263 goto is_not_a_corner; 264 else 265 goto is_not_a_corner; 266 else if( p[pixel[10]] < c_b) 267 if( p[pixel[5]] < c_b) 268 if( p[pixel[6]] < c_b) 269 if( p[pixel[7]] < c_b) 270 if( p[pixel[8]] < c_b) 271 if( p[pixel[9]] < c_b) 272 if( p[pixel[11]] < c_b) 273 if( p[pixel[12]] < c_b) 274 if( p[pixel[13]] < c_b) 275 goto is_a_corner; 276 else 277 goto is_not_a_corner; 278 else 279 goto is_not_a_corner; 280 else 281 goto is_not_a_corner; 282 else 283 goto is_not_a_corner; 284 else 285 goto is_not_a_corner; 286 else 287 goto is_not_a_corner; 288 else 289 goto is_not_a_corner; 290 else 291 goto is_not_a_corner; 292 else 293 goto is_not_a_corner; 294 else if( p[pixel[14]] < c_b) 295 if( p[pixel[6]] < c_b) 296 if( p[pixel[7]] < c_b) 297 if( p[pixel[8]] < c_b) 298 if( p[pixel[9]] < c_b) 299 if( p[pixel[10]] < c_b) 300 if( p[pixel[11]] < c_b) 301 if( p[pixel[12]] < c_b) 302 if( p[pixel[13]] < c_b) 303 if( p[pixel[5]] < c_b) 304 goto is_a_corner; 305 else 306 if( p[pixel[15]] < c_b) 307 goto is_a_corner; 308 else 309 goto is_not_a_corner; 310 else 311 goto is_not_a_corner; 312 else 313 goto is_not_a_corner; 314 else 315 goto is_not_a_corner; 316 else 317 goto is_not_a_corner; 318 else 319 goto is_not_a_corner; 320 else 321 goto is_not_a_corner; 322 else 323 goto is_not_a_corner; 324 else 325 goto is_not_a_corner; 326 else 327 if( p[pixel[5]] < c_b) 328 if( p[pixel[6]] < c_b) 329 if( p[pixel[7]] < c_b) 330 if( p[pixel[8]] < c_b) 331 if( p[pixel[9]] < c_b) 332 if( p[pixel[10]] < c_b) 333 if( p[pixel[11]] < c_b) 334 if( p[pixel[12]] < c_b) 335 if( p[pixel[13]] < c_b) 336 goto is_a_corner; 337 else 338 goto is_not_a_corner; 339 else 340 goto is_not_a_corner; 341 else 342 goto is_not_a_corner; 343 else 344 goto is_not_a_corner; 345 else 346 goto is_not_a_corner; 347 else 348 goto is_not_a_corner; 349 else 350 goto is_not_a_corner; 351 else 352 goto is_not_a_corner; 353 else 354 goto is_not_a_corner; 355 else 356 if( p[pixel[10]] > cb) 357 if( p[pixel[11]] > cb) 358 if( p[pixel[12]] > cb) 359 if( p[pixel[13]] > cb) 360 if( p[pixel[14]] > cb) 361 if( p[pixel[15]] > cb) 362 goto is_a_corner; 363 else 364 if( p[pixel[5]] > cb) 365 if( p[pixel[6]] > cb) 366 if( p[pixel[7]] > cb) 367 if( p[pixel[8]] > cb) 368 if( p[pixel[9]] > cb) 369 goto is_a_corner; 370 else 371 goto is_not_a_corner; 372 else 373 goto is_not_a_corner; 374 else 375 goto is_not_a_corner; 376 else 377 goto is_not_a_corner; 378 else 379 goto is_not_a_corner; 380 else 381 goto is_not_a_corner; 382 else 383 goto is_not_a_corner; 384 else 385 goto is_not_a_corner; 386 else 387 goto is_not_a_corner; 388 else if( p[pixel[10]] < c_b) 389 if( p[pixel[6]] < c_b) 390 if( p[pixel[7]] < c_b) 391 if( p[pixel[8]] < c_b) 392 if( p[pixel[9]] < c_b) 393 if( p[pixel[11]] < c_b) 394 if( p[pixel[12]] < c_b) 395 if( p[pixel[13]] < c_b) 396 if( p[pixel[14]] < c_b) 397 if( p[pixel[5]] < c_b) 398 goto is_a_corner; 399 else 400 if( p[pixel[15]] < c_b) 401 goto is_a_corner; 402 else 403 goto is_not_a_corner; 404 else 405 goto is_not_a_corner; 406 else 407 goto is_not_a_corner; 408 else 409 goto is_not_a_corner; 410 else 411 goto is_not_a_corner; 412 else 413 goto is_not_a_corner; 414 else 415 goto is_not_a_corner; 416 else 417 goto is_not_a_corner; 418 else 419 goto is_not_a_corner; 420 else 421 goto is_not_a_corner; 422 else if( p[pixel[3]] < c_b) 423 if( p[pixel[9]] > cb) 424 if( p[pixel[10]] > cb) 425 if( p[pixel[11]] > cb) 426 if( p[pixel[12]] > cb) 427 if( p[pixel[13]] > cb) 428 if( p[pixel[14]] > cb) 429 if( p[pixel[15]] > cb) 430 goto is_a_corner; 431 else 432 if( p[pixel[5]] > cb) 433 if( p[pixel[6]] > cb) 434 if( p[pixel[7]] > cb) 435 if( p[pixel[8]] > cb) 436 goto is_a_corner; 437 else 438 goto is_not_a_corner; 439 else 440 goto is_not_a_corner; 441 else 442 goto is_not_a_corner; 443 else 444 goto is_not_a_corner; 445 else 446 if( p[pixel[4]] > cb) 447 if( p[pixel[5]] > cb) 448 if( p[pixel[6]] > cb) 449 if( p[pixel[7]] > cb) 450 if( p[pixel[8]] > cb) 451 goto is_a_corner; 452 else 453 goto is_not_a_corner; 454 else 455 goto is_not_a_corner; 456 else 457 goto is_not_a_corner; 458 else 459 goto is_not_a_corner; 460 else 461 goto is_not_a_corner; 462 else 463 goto is_not_a_corner; 464 else 465 goto is_not_a_corner; 466 else 467 goto is_not_a_corner; 468 else 469 goto is_not_a_corner; 470 else if( p[pixel[9]] < c_b) 471 if( p[pixel[6]] < c_b) 472 if( p[pixel[7]] < c_b) 473 if( p[pixel[8]] < c_b) 474 if( p[pixel[10]] < c_b) 475 if( p[pixel[11]] < c_b) 476 if( p[pixel[12]] < c_b) 477 if( p[pixel[5]] < c_b) 478 if( p[pixel[4]] < c_b) 479 goto is_a_corner; 480 else 481 if( p[pixel[13]] < c_b) 482 if( p[pixel[14]] < c_b) 483 goto is_a_corner; 484 else 485 goto is_not_a_corner; 486 else 487 goto is_not_a_corner; 488 else 489 if( p[pixel[13]] < c_b) 490 if( p[pixel[14]] < c_b) 491 if( p[pixel[15]] < c_b) 492 goto is_a_corner; 493 else 494 goto is_not_a_corner; 495 else 496 goto is_not_a_corner; 497 else 498 goto is_not_a_corner; 499 else 500 goto is_not_a_corner; 501 else 502 goto is_not_a_corner; 503 else 504 goto is_not_a_corner; 505 else 506 goto is_not_a_corner; 507 else 508 goto is_not_a_corner; 509 else 510 goto is_not_a_corner; 511 else 512 goto is_not_a_corner; 513 else 514 if( p[pixel[9]] > cb) 515 if( p[pixel[10]] > cb) 516 if( p[pixel[11]] > cb) 517 if( p[pixel[12]] > cb) 518 if( p[pixel[13]] > cb) 519 if( p[pixel[14]] > cb) 520 if( p[pixel[15]] > cb) 521 goto is_a_corner; 522 else 523 if( p[pixel[5]] > cb) 524 if( p[pixel[6]] > cb) 525 if( p[pixel[7]] > cb) 526 if( p[pixel[8]] > cb) 527 goto is_a_corner; 528 else 529 goto is_not_a_corner; 530 else 531 goto is_not_a_corner; 532 else 533 goto is_not_a_corner; 534 else 535 goto is_not_a_corner; 536 else 537 if( p[pixel[4]] > cb) 538 if( p[pixel[5]] > cb) 539 if( p[pixel[6]] > cb) 540 if( p[pixel[7]] > cb) 541 if( p[pixel[8]] > cb) 542 goto is_a_corner; 543 else 544 goto is_not_a_corner; 545 else 546 goto is_not_a_corner; 547 else 548 goto is_not_a_corner; 549 else 550 goto is_not_a_corner; 551 else 552 goto is_not_a_corner; 553 else 554 goto is_not_a_corner; 555 else 556 goto is_not_a_corner; 557 else 558 goto is_not_a_corner; 559 else 560 goto is_not_a_corner; 561 else if( p[pixel[9]] < c_b) 562 if( p[pixel[6]] < c_b) 563 if( p[pixel[7]] < c_b) 564 if( p[pixel[8]] < c_b) 565 if( p[pixel[10]] < c_b) 566 if( p[pixel[11]] < c_b) 567 if( p[pixel[12]] < c_b) 568 if( p[pixel[13]] < c_b) 569 if( p[pixel[5]] < c_b) 570 if( p[pixel[4]] < c_b) 571 goto is_a_corner; 572 else 573 if( p[pixel[14]] < c_b) 574 goto is_a_corner; 575 else 576 goto is_not_a_corner; 577 else 578 if( p[pixel[14]] < c_b) 579 if( p[pixel[15]] < c_b) 580 goto is_a_corner; 581 else 582 goto is_not_a_corner; 583 else 584 goto is_not_a_corner; 585 else 586 goto is_not_a_corner; 587 else 588 goto is_not_a_corner; 589 else 590 goto is_not_a_corner; 591 else 592 goto is_not_a_corner; 593 else 594 goto is_not_a_corner; 595 else 596 goto is_not_a_corner; 597 else 598 goto is_not_a_corner; 599 else 600 goto is_not_a_corner; 601 else if( p[pixel[2]] < c_b) 602 if( p[pixel[8]] > cb) 603 if( p[pixel[9]] > cb) 604 if( p[pixel[10]] > cb) 605 if( p[pixel[11]] > cb) 606 if( p[pixel[12]] > cb) 607 if( p[pixel[13]] > cb) 608 if( p[pixel[14]] > cb) 609 if( p[pixel[15]] > cb) 610 goto is_a_corner; 611 else 612 if( p[pixel[5]] > cb) 613 if( p[pixel[6]] > cb) 614 if( p[pixel[7]] > cb) 615 goto is_a_corner; 616 else 617 goto is_not_a_corner; 618 else 619 goto is_not_a_corner; 620 else 621 goto is_not_a_corner; 622 else 623 if( p[pixel[4]] > cb) 624 if( p[pixel[5]] > cb) 625 if( p[pixel[6]] > cb) 626 if( p[pixel[7]] > cb) 627 goto is_a_corner; 628 else 629 goto is_not_a_corner; 630 else 631 goto is_not_a_corner; 632 else 633 goto is_not_a_corner; 634 else 635 goto is_not_a_corner; 636 else 637 if( p[pixel[3]] > cb) 638 if( p[pixel[4]] > cb) 639 if( p[pixel[5]] > cb) 640 if( p[pixel[6]] > cb) 641 if( p[pixel[7]] > cb) 642 goto is_a_corner; 643 else 644 goto is_not_a_corner; 645 else 646 goto is_not_a_corner; 647 else 648 goto is_not_a_corner; 649 else 650 goto is_not_a_corner; 651 else 652 goto is_not_a_corner; 653 else 654 goto is_not_a_corner; 655 else 656 goto is_not_a_corner; 657 else 658 goto is_not_a_corner; 659 else 660 goto is_not_a_corner; 661 else if( p[pixel[8]] < c_b) 662 if( p[pixel[6]] < c_b) 663 if( p[pixel[7]] < c_b) 664 if( p[pixel[9]] < c_b) 665 if( p[pixel[10]] < c_b) 666 if( p[pixel[11]] < c_b) 667 if( p[pixel[5]] < c_b) 668 if( p[pixel[4]] < c_b) 669 if( p[pixel[3]] < c_b) 670 goto is_a_corner; 671 else 672 if( p[pixel[12]] < c_b) 673 if( p[pixel[13]] < c_b) 674 goto is_a_corner; 675 else 676 goto is_not_a_corner; 677 else 678 goto is_not_a_corner; 679 else 680 if( p[pixel[12]] < c_b) 681 if( p[pixel[13]] < c_b) 682 if( p[pixel[14]] < c_b) 683 goto is_a_corner; 684 else 685 goto is_not_a_corner; 686 else 687 goto is_not_a_corner; 688 else 689 goto is_not_a_corner; 690 else 691 if( p[pixel[12]] < c_b) 692 if( p[pixel[13]] < c_b) 693 if( p[pixel[14]] < c_b) 694 if( p[pixel[15]] < c_b) 695 goto is_a_corner; 696 else 697 goto is_not_a_corner; 698 else 699 goto is_not_a_corner; 700 else 701 goto is_not_a_corner; 702 else 703 goto is_not_a_corner; 704 else 705 goto is_not_a_corner; 706 else 707 goto is_not_a_corner; 708 else 709 goto is_not_a_corner; 710 else 711 goto is_not_a_corner; 712 else 713 goto is_not_a_corner; 714 else 715 goto is_not_a_corner; 716 else 717 if( p[pixel[8]] > cb) 718 if( p[pixel[9]] > cb) 719 if( p[pixel[10]] > cb) 720 if( p[pixel[11]] > cb) 721 if( p[pixel[12]] > cb) 722 if( p[pixel[13]] > cb) 723 if( p[pixel[14]] > cb) 724 if( p[pixel[15]] > cb) 725 goto is_a_corner; 726 else 727 if( p[pixel[5]] > cb) 728 if( p[pixel[6]] > cb) 729 if( p[pixel[7]] > cb) 730 goto is_a_corner; 731 else 732 goto is_not_a_corner; 733 else 734 goto is_not_a_corner; 735 else 736 goto is_not_a_corner; 737 else 738 if( p[pixel[4]] > cb) 739 if( p[pixel[5]] > cb) 740 if( p[pixel[6]] > cb) 741 if( p[pixel[7]] > cb) 742 goto is_a_corner; 743 else 744 goto is_not_a_corner; 745 else 746 goto is_not_a_corner; 747 else 748 goto is_not_a_corner; 749 else 750 goto is_not_a_corner; 751 else 752 if( p[pixel[3]] > cb) 753 if( p[pixel[4]] > cb) 754 if( p[pixel[5]] > cb) 755 if( p[pixel[6]] > cb) 756 if( p[pixel[7]] > cb) 757 goto is_a_corner; 758 else 759 goto is_not_a_corner; 760 else 761 goto is_not_a_corner; 762 else 763 goto is_not_a_corner; 764 else 765 goto is_not_a_corner; 766 else 767 goto is_not_a_corner; 768 else 769 goto is_not_a_corner; 770 else 771 goto is_not_a_corner; 772 else 773 goto is_not_a_corner; 774 else 775 goto is_not_a_corner; 776 else if( p[pixel[8]] < c_b) 777 if( p[pixel[6]] < c_b) 778 if( p[pixel[7]] < c_b) 779 if( p[pixel[9]] < c_b) 780 if( p[pixel[10]] < c_b) 781 if( p[pixel[11]] < c_b) 782 if( p[pixel[12]] < c_b) 783 if( p[pixel[5]] < c_b) 784 if( p[pixel[4]] < c_b) 785 if( p[pixel[3]] < c_b) 786 goto is_a_corner; 787 else 788 if( p[pixel[13]] < c_b) 789 goto is_a_corner; 790 else 791 goto is_not_a_corner; 792 else 793 if( p[pixel[13]] < c_b) 794 if( p[pixel[14]] < c_b) 795 goto is_a_corner; 796 else 797 goto is_not_a_corner; 798 else 799 goto is_not_a_corner; 800 else 801 if( p[pixel[13]] < c_b) 802 if( p[pixel[14]] < c_b) 803 if( p[pixel[15]] < c_b) 804 goto is_a_corner; 805 else 806 goto is_not_a_corner; 807 else 808 goto is_not_a_corner; 809 else 810 goto is_not_a_corner; 811 else 812 goto is_not_a_corner; 813 else 814 goto is_not_a_corner; 815 else 816 goto is_not_a_corner; 817 else 818 goto is_not_a_corner; 819 else 820 goto is_not_a_corner; 821 else 822 goto is_not_a_corner; 823 else 824 goto is_not_a_corner; 825 else if( p[pixel[1]] < c_b) 826 if( p[pixel[7]] > cb) 827 if( p[pixel[8]] > cb) 828 if( p[pixel[9]] > cb) 829 if( p[pixel[10]] > cb) 830 if( p[pixel[11]] > cb) 831 if( p[pixel[12]] > cb) 832 if( p[pixel[13]] > cb) 833 if( p[pixel[14]] > cb) 834 if( p[pixel[15]] > cb) 835 goto is_a_corner; 836 else 837 if( p[pixel[5]] > cb) 838 if( p[pixel[6]] > cb) 839 goto is_a_corner; 840 else 841 goto is_not_a_corner; 842 else 843 goto is_not_a_corner; 844 else 845 if( p[pixel[4]] > cb) 846 if( p[pixel[5]] > cb) 847 if( p[pixel[6]] > cb) 848 goto is_a_corner; 849 else 850 goto is_not_a_corner; 851 else 852 goto is_not_a_corner; 853 else 854 goto is_not_a_corner; 855 else 856 if( p[pixel[3]] > cb) 857 if( p[pixel[4]] > cb) 858 if( p[pixel[5]] > cb) 859 if( p[pixel[6]] > cb) 860 goto is_a_corner; 861 else 862 goto is_not_a_corner; 863 else 864 goto is_not_a_corner; 865 else 866 goto is_not_a_corner; 867 else 868 goto is_not_a_corner; 869 else 870 if( p[pixel[2]] > cb) 871 if( p[pixel[3]] > cb) 872 if( p[pixel[4]] > cb) 873 if( p[pixel[5]] > cb) 874 if( p[pixel[6]] > cb) 875 goto is_a_corner; 876 else 877 goto is_not_a_corner; 878 else 879 goto is_not_a_corner; 880 else 881 goto is_not_a_corner; 882 else 883 goto is_not_a_corner; 884 else 885 goto is_not_a_corner; 886 else 887 goto is_not_a_corner; 888 else 889 goto is_not_a_corner; 890 else 891 goto is_not_a_corner; 892 else 893 goto is_not_a_corner; 894 else if( p[pixel[7]] < c_b) 895 if( p[pixel[6]] < c_b) 896 if( p[pixel[8]] < c_b) 897 if( p[pixel[9]] < c_b) 898 if( p[pixel[10]] < c_b) 899 if( p[pixel[5]] < c_b) 900 if( p[pixel[4]] < c_b) 901 if( p[pixel[3]] < c_b) 902 if( p[pixel[2]] < c_b) 903 goto is_a_corner; 904 else 905 if( p[pixel[11]] < c_b) 906 if( p[pixel[12]] < c_b) 907 goto is_a_corner; 908 else 909 goto is_not_a_corner; 910 else 911 goto is_not_a_corner; 912 else 913 if( p[pixel[11]] < c_b) 914 if( p[pixel[12]] < c_b) 915 if( p[pixel[13]] < c_b) 916 goto is_a_corner; 917 else 918 goto is_not_a_corner; 919 else 920 goto is_not_a_corner; 921 else 922 goto is_not_a_corner; 923 else 924 if( p[pixel[11]] < c_b) 925 if( p[pixel[12]] < c_b) 926 if( p[pixel[13]] < c_b) 927 if( p[pixel[14]] < c_b) 928 goto is_a_corner; 929 else 930 goto is_not_a_corner; 931 else 932 goto is_not_a_corner; 933 else 934 goto is_not_a_corner; 935 else 936 goto is_not_a_corner; 937 else 938 if( p[pixel[11]] < c_b) 939 if( p[pixel[12]] < c_b) 940 if( p[pixel[13]] < c_b) 941 if( p[pixel[14]] < c_b) 942 if( p[pixel[15]] < c_b) 943 goto is_a_corner; 944 else 945 goto is_not_a_corner; 946 else 947 goto is_not_a_corner; 948 else 949 goto is_not_a_corner; 950 else 951 goto is_not_a_corner; 952 else 953 goto is_not_a_corner; 954 else 955 goto is_not_a_corner; 956 else 957 goto is_not_a_corner; 958 else 959 goto is_not_a_corner; 960 else 961 goto is_not_a_corner; 962 else 963 goto is_not_a_corner; 964 else 965 if( p[pixel[7]] > cb) 966 if( p[pixel[8]] > cb) 967 if( p[pixel[9]] > cb) 968 if( p[pixel[10]] > cb) 969 if( p[pixel[11]] > cb) 970 if( p[pixel[12]] > cb) 971 if( p[pixel[13]] > cb) 972 if( p[pixel[14]] > cb) 973 if( p[pixel[15]] > cb) 974 goto is_a_corner; 975 else 976 if( p[pixel[5]] > cb) 977 if( p[pixel[6]] > cb) 978 goto is_a_corner; 979 else 980 goto is_not_a_corner; 981 else 982 goto is_not_a_corner; 983 else 984 if( p[pixel[4]] > cb) 985 if( p[pixel[5]] > cb) 986 if( p[pixel[6]] > cb) 987 goto is_a_corner; 988 else 989 goto is_not_a_corner; 990 else 991 goto is_not_a_corner; 992 else 993 goto is_not_a_corner; 994 else 995 if( p[pixel[3]] > cb) 996 if( p[pixel[4]] > cb) 997 if( p[pixel[5]] > cb) 998 if( p[pixel[6]] > cb) 999 goto is_a_corner; 1000 else 1001 goto is_not_a_corner; 1002 else 1003 goto is_not_a_corner; 1004 else 1005 goto is_not_a_corner; 1006 else 1007 goto is_not_a_corner; 1008 else 1009 if( p[pixel[2]] > cb) 1010 if( p[pixel[3]] > cb) 1011 if( p[pixel[4]] > cb) 1012 if( p[pixel[5]] > cb) 1013 if( p[pixel[6]] > cb) 1014 goto is_a_corner; 1015 else 1016 goto is_not_a_corner; 1017 else 1018 goto is_not_a_corner; 1019 else 1020 goto is_not_a_corner; 1021 else 1022 goto is_not_a_corner; 1023 else 1024 goto is_not_a_corner; 1025 else 1026 goto is_not_a_corner; 1027 else 1028 goto is_not_a_corner; 1029 else 1030 goto is_not_a_corner; 1031 else 1032 goto is_not_a_corner; 1033 else if( p[pixel[7]] < c_b) 1034 if( p[pixel[6]] < c_b) 1035 if( p[pixel[8]] < c_b) 1036 if( p[pixel[9]] < c_b) 1037 if( p[pixel[10]] < c_b) 1038 if( p[pixel[11]] < c_b) 1039 if( p[pixel[5]] < c_b) 1040 if( p[pixel[4]] < c_b) 1041 if( p[pixel[3]] < c_b) 1042 if( p[pixel[2]] < c_b) 1043 goto is_a_corner; 1044 else 1045 if( p[pixel[12]] < c_b) 1046 goto is_a_corner; 1047 else 1048 goto is_not_a_corner; 1049 else 1050 if( p[pixel[12]] < c_b) 1051 if( p[pixel[13]] < c_b) 1052 goto is_a_corner; 1053 else 1054 goto is_not_a_corner; 1055 else 1056 goto is_not_a_corner; 1057 else 1058 if( p[pixel[12]] < c_b) 1059 if( p[pixel[13]] < c_b) 1060 if( p[pixel[14]] < c_b) 1061 goto is_a_corner; 1062 else 1063 goto is_not_a_corner; 1064 else 1065 goto is_not_a_corner; 1066 else 1067 goto is_not_a_corner; 1068 else 1069 if( p[pixel[12]] < c_b) 1070 if( p[pixel[13]] < c_b) 1071 if( p[pixel[14]] < c_b) 1072 if( p[pixel[15]] < c_b) 1073 goto is_a_corner; 1074 else 1075 goto is_not_a_corner; 1076 else 1077 goto is_not_a_corner; 1078 else 1079 goto is_not_a_corner; 1080 else 1081 goto is_not_a_corner; 1082 else 1083 goto is_not_a_corner; 1084 else 1085 goto is_not_a_corner; 1086 else 1087 goto is_not_a_corner; 1088 else 1089 goto is_not_a_corner; 1090 else 1091 goto is_not_a_corner; 1092 else 1093 goto is_not_a_corner; 1094 else if( p[pixel[0]] < c_b) 1095 if( p[pixel[1]] > cb) 1096 if( p[pixel[7]] > cb) 1097 if( p[pixel[6]] > cb) 1098 if( p[pixel[8]] > cb) 1099 if( p[pixel[9]] > cb) 1100 if( p[pixel[10]] > cb) 1101 if( p[pixel[5]] > cb) 1102 if( p[pixel[4]] > cb) 1103 if( p[pixel[3]] > cb) 1104 if( p[pixel[2]] > cb) 1105 goto is_a_corner; 1106 else 1107 if( p[pixel[11]] > cb) 1108 if( p[pixel[12]] > cb) 1109 goto is_a_corner; 1110 else 1111 goto is_not_a_corner; 1112 else 1113 goto is_not_a_corner; 1114 else 1115 if( p[pixel[11]] > cb) 1116 if( p[pixel[12]] > cb) 1117 if( p[pixel[13]] > cb) 1118 goto is_a_corner; 1119 else 1120 goto is_not_a_corner; 1121 else 1122 goto is_not_a_corner; 1123 else 1124 goto is_not_a_corner; 1125 else 1126 if( p[pixel[11]] > cb) 1127 if( p[pixel[12]] > cb) 1128 if( p[pixel[13]] > cb) 1129 if( p[pixel[14]] > cb) 1130 goto is_a_corner; 1131 else 1132 goto is_not_a_corner; 1133 else 1134 goto is_not_a_corner; 1135 else 1136 goto is_not_a_corner; 1137 else 1138 goto is_not_a_corner; 1139 else 1140 if( p[pixel[11]] > cb) 1141 if( p[pixel[12]] > cb) 1142 if( p[pixel[13]] > cb) 1143 if( p[pixel[14]] > cb) 1144 if( p[pixel[15]] > cb) 1145 goto is_a_corner; 1146 else 1147 goto is_not_a_corner; 1148 else 1149 goto is_not_a_corner; 1150 else 1151 goto is_not_a_corner; 1152 else 1153 goto is_not_a_corner; 1154 else 1155 goto is_not_a_corner; 1156 else 1157 goto is_not_a_corner; 1158 else 1159 goto is_not_a_corner; 1160 else 1161 goto is_not_a_corner; 1162 else 1163 goto is_not_a_corner; 1164 else if( p[pixel[7]] < c_b) 1165 if( p[pixel[8]] < c_b) 1166 if( p[pixel[9]] < c_b) 1167 if( p[pixel[10]] < c_b) 1168 if( p[pixel[11]] < c_b) 1169 if( p[pixel[12]] < c_b) 1170 if( p[pixel[13]] < c_b) 1171 if( p[pixel[14]] < c_b) 1172 if( p[pixel[15]] < c_b) 1173 goto is_a_corner; 1174 else 1175 if( p[pixel[5]] < c_b) 1176 if( p[pixel[6]] < c_b) 1177 goto is_a_corner; 1178 else 1179 goto is_not_a_corner; 1180 else 1181 goto is_not_a_corner; 1182 else 1183 if( p[pixel[4]] < c_b) 1184 if( p[pixel[5]] < c_b) 1185 if( p[pixel[6]] < c_b) 1186 goto is_a_corner; 1187 else 1188 goto is_not_a_corner; 1189 else 1190 goto is_not_a_corner; 1191 else 1192 goto is_not_a_corner; 1193 else 1194 if( p[pixel[3]] < c_b) 1195 if( p[pixel[4]] < c_b) 1196 if( p[pixel[5]] < c_b) 1197 if( p[pixel[6]] < c_b) 1198 goto is_a_corner; 1199 else 1200 goto is_not_a_corner; 1201 else 1202 goto is_not_a_corner; 1203 else 1204 goto is_not_a_corner; 1205 else 1206 goto is_not_a_corner; 1207 else 1208 if( p[pixel[2]] < c_b) 1209 if( p[pixel[3]] < c_b) 1210 if( p[pixel[4]] < c_b) 1211 if( p[pixel[5]] < c_b) 1212 if( p[pixel[6]] < c_b) 1213 goto is_a_corner; 1214 else 1215 goto is_not_a_corner; 1216 else 1217 goto is_not_a_corner; 1218 else 1219 goto is_not_a_corner; 1220 else 1221 goto is_not_a_corner; 1222 else 1223 goto is_not_a_corner; 1224 else 1225 goto is_not_a_corner; 1226 else 1227 goto is_not_a_corner; 1228 else 1229 goto is_not_a_corner; 1230 else 1231 goto is_not_a_corner; 1232 else 1233 goto is_not_a_corner; 1234 else if( p[pixel[1]] < c_b) 1235 if( p[pixel[2]] > cb) 1236 if( p[pixel[8]] > cb) 1237 if( p[pixel[6]] > cb) 1238 if( p[pixel[7]] > cb) 1239 if( p[pixel[9]] > cb) 1240 if( p[pixel[10]] > cb) 1241 if( p[pixel[11]] > cb) 1242 if( p[pixel[5]] > cb) 1243 if( p[pixel[4]] > cb) 1244 if( p[pixel[3]] > cb) 1245 goto is_a_corner; 1246 else 1247 if( p[pixel[12]] > cb) 1248 if( p[pixel[13]] > cb) 1249 goto is_a_corner; 1250 else 1251 goto is_not_a_corner; 1252 else 1253 goto is_not_a_corner; 1254 else 1255 if( p[pixel[12]] > cb) 1256 if( p[pixel[13]] > cb) 1257 if( p[pixel[14]] > cb) 1258 goto is_a_corner; 1259 else 1260 goto is_not_a_corner; 1261 else 1262 goto is_not_a_corner; 1263 else 1264 goto is_not_a_corner; 1265 else 1266 if( p[pixel[12]] > cb) 1267 if( p[pixel[13]] > cb) 1268 if( p[pixel[14]] > cb) 1269 if( p[pixel[15]] > cb) 1270 goto is_a_corner; 1271 else 1272 goto is_not_a_corner; 1273 else 1274 goto is_not_a_corner; 1275 else 1276 goto is_not_a_corner; 1277 else 1278 goto is_not_a_corner; 1279 else 1280 goto is_not_a_corner; 1281 else 1282 goto is_not_a_corner; 1283 else 1284 goto is_not_a_corner; 1285 else 1286 goto is_not_a_corner; 1287 else 1288 goto is_not_a_corner; 1289 else if( p[pixel[8]] < c_b) 1290 if( p[pixel[9]] < c_b) 1291 if( p[pixel[10]] < c_b) 1292 if( p[pixel[11]] < c_b) 1293 if( p[pixel[12]] < c_b) 1294 if( p[pixel[13]] < c_b) 1295 if( p[pixel[14]] < c_b) 1296 if( p[pixel[15]] < c_b) 1297 goto is_a_corner; 1298 else 1299 if( p[pixel[5]] < c_b) 1300 if( p[pixel[6]] < c_b) 1301 if( p[pixel[7]] < c_b) 1302 goto is_a_corner; 1303 else 1304 goto is_not_a_corner; 1305 else 1306 goto is_not_a_corner; 1307 else 1308 goto is_not_a_corner; 1309 else 1310 if( p[pixel[4]] < c_b) 1311 if( p[pixel[5]] < c_b) 1312 if( p[pixel[6]] < c_b) 1313 if( p[pixel[7]] < c_b) 1314 goto is_a_corner; 1315 else 1316 goto is_not_a_corner; 1317 else 1318 goto is_not_a_corner; 1319 else 1320 goto is_not_a_corner; 1321 else 1322 goto is_not_a_corner; 1323 else 1324 if( p[pixel[3]] < c_b) 1325 if( p[pixel[4]] < c_b) 1326 if( p[pixel[5]] < c_b) 1327 if( p[pixel[6]] < c_b) 1328 if( p[pixel[7]] < c_b) 1329 goto is_a_corner; 1330 else 1331 goto is_not_a_corner; 1332 else 1333 goto is_not_a_corner; 1334 else 1335 goto is_not_a_corner; 1336 else 1337 goto is_not_a_corner; 1338 else 1339 goto is_not_a_corner; 1340 else 1341 goto is_not_a_corner; 1342 else 1343 goto is_not_a_corner; 1344 else 1345 goto is_not_a_corner; 1346 else 1347 goto is_not_a_corner; 1348 else 1349 goto is_not_a_corner; 1350 else if( p[pixel[2]] < c_b) 1351 if( p[pixel[3]] > cb) 1352 if( p[pixel[9]] > cb) 1353 if( p[pixel[6]] > cb) 1354 if( p[pixel[7]] > cb) 1355 if( p[pixel[8]] > cb) 1356 if( p[pixel[10]] > cb) 1357 if( p[pixel[11]] > cb) 1358 if( p[pixel[12]] > cb) 1359 if( p[pixel[5]] > cb) 1360 if( p[pixel[4]] > cb) 1361 goto is_a_corner; 1362 else 1363 if( p[pixel[13]] > cb) 1364 if( p[pixel[14]] > cb) 1365 goto is_a_corner; 1366 else 1367 goto is_not_a_corner; 1368 else 1369 goto is_not_a_corner; 1370 else 1371 if( p[pixel[13]] > cb) 1372 if( p[pixel[14]] > cb) 1373 if( p[pixel[15]] > cb) 1374 goto is_a_corner; 1375 else 1376 goto is_not_a_corner; 1377 else 1378 goto is_not_a_corner; 1379 else 1380 goto is_not_a_corner; 1381 else 1382 goto is_not_a_corner; 1383 else 1384 goto is_not_a_corner; 1385 else 1386 goto is_not_a_corner; 1387 else 1388 goto is_not_a_corner; 1389 else 1390 goto is_not_a_corner; 1391 else 1392 goto is_not_a_corner; 1393 else if( p[pixel[9]] < c_b) 1394 if( p[pixel[10]] < c_b) 1395 if( p[pixel[11]] < c_b) 1396 if( p[pixel[12]] < c_b) 1397 if( p[pixel[13]] < c_b) 1398 if( p[pixel[14]] < c_b) 1399 if( p[pixel[15]] < c_b) 1400 goto is_a_corner; 1401 else 1402 if( p[pixel[5]] < c_b) 1403 if( p[pixel[6]] < c_b) 1404 if( p[pixel[7]] < c_b) 1405 if( p[pixel[8]] < c_b) 1406 goto is_a_corner; 1407 else 1408 goto is_not_a_corner; 1409 else 1410 goto is_not_a_corner; 1411 else 1412 goto is_not_a_corner; 1413 else 1414 goto is_not_a_corner; 1415 else 1416 if( p[pixel[4]] < c_b) 1417 if( p[pixel[5]] < c_b) 1418 if( p[pixel[6]] < c_b) 1419 if( p[pixel[7]] < c_b) 1420 if( p[pixel[8]] < c_b) 1421 goto is_a_corner; 1422 else 1423 goto is_not_a_corner; 1424 else 1425 goto is_not_a_corner; 1426 else 1427 goto is_not_a_corner; 1428 else 1429 goto is_not_a_corner; 1430 else 1431 goto is_not_a_corner; 1432 else 1433 goto is_not_a_corner; 1434 else 1435 goto is_not_a_corner; 1436 else 1437 goto is_not_a_corner; 1438 else 1439 goto is_not_a_corner; 1440 else 1441 goto is_not_a_corner; 1442 else if( p[pixel[3]] < c_b) 1443 if( p[pixel[4]] > cb) 1444 if( p[pixel[14]] > cb) 1445 if( p[pixel[6]] > cb) 1446 if( p[pixel[7]] > cb) 1447 if( p[pixel[8]] > cb) 1448 if( p[pixel[9]] > cb) 1449 if( p[pixel[10]] > cb) 1450 if( p[pixel[11]] > cb) 1451 if( p[pixel[12]] > cb) 1452 if( p[pixel[13]] > cb) 1453 if( p[pixel[5]] > cb) 1454 goto is_a_corner; 1455 else 1456 if( p[pixel[15]] > cb) 1457 goto is_a_corner; 1458 else 1459 goto is_not_a_corner; 1460 else 1461 goto is_not_a_corner; 1462 else 1463 goto is_not_a_corner; 1464 else 1465 goto is_not_a_corner; 1466 else 1467 goto is_not_a_corner; 1468 else 1469 goto is_not_a_corner; 1470 else 1471 goto is_not_a_corner; 1472 else 1473 goto is_not_a_corner; 1474 else 1475 goto is_not_a_corner; 1476 else if( p[pixel[14]] < c_b) 1477 if( p[pixel[10]] > cb) 1478 if( p[pixel[5]] > cb) 1479 if( p[pixel[6]] > cb) 1480 if( p[pixel[7]] > cb) 1481 if( p[pixel[8]] > cb) 1482 if( p[pixel[9]] > cb) 1483 if( p[pixel[11]] > cb) 1484 if( p[pixel[12]] > cb) 1485 if( p[pixel[13]] > cb) 1486 goto is_a_corner; 1487 else 1488 goto is_not_a_corner; 1489 else 1490 goto is_not_a_corner; 1491 else 1492 goto is_not_a_corner; 1493 else 1494 goto is_not_a_corner; 1495 else 1496 goto is_not_a_corner; 1497 else 1498 goto is_not_a_corner; 1499 else 1500 goto is_not_a_corner; 1501 else 1502 goto is_not_a_corner; 1503 else if( p[pixel[10]] < c_b) 1504 if( p[pixel[11]] < c_b) 1505 if( p[pixel[12]] < c_b) 1506 if( p[pixel[13]] < c_b) 1507 if( p[pixel[15]] < c_b) 1508 goto is_a_corner; 1509 else 1510 if( p[pixel[5]] < c_b) 1511 if( p[pixel[6]] < c_b) 1512 if( p[pixel[7]] < c_b) 1513 if( p[pixel[8]] < c_b) 1514 if( p[pixel[9]] < c_b) 1515 goto is_a_corner; 1516 else 1517 goto is_not_a_corner; 1518 else 1519 goto is_not_a_corner; 1520 else 1521 goto is_not_a_corner; 1522 else 1523 goto is_not_a_corner; 1524 else 1525 goto is_not_a_corner; 1526 else 1527 goto is_not_a_corner; 1528 else 1529 goto is_not_a_corner; 1530 else 1531 goto is_not_a_corner; 1532 else 1533 goto is_not_a_corner; 1534 else 1535 if( p[pixel[5]] > cb) 1536 if( p[pixel[6]] > cb) 1537 if( p[pixel[7]] > cb) 1538 if( p[pixel[8]] > cb) 1539 if( p[pixel[9]] > cb) 1540 if( p[pixel[10]] > cb) 1541 if( p[pixel[11]] > cb) 1542 if( p[pixel[12]] > cb) 1543 if( p[pixel[13]] > cb) 1544 goto is_a_corner; 1545 else 1546 goto is_not_a_corner; 1547 else 1548 goto is_not_a_corner; 1549 else 1550 goto is_not_a_corner; 1551 else 1552 goto is_not_a_corner; 1553 else 1554 goto is_not_a_corner; 1555 else 1556 goto is_not_a_corner; 1557 else 1558 goto is_not_a_corner; 1559 else 1560 goto is_not_a_corner; 1561 else 1562 goto is_not_a_corner; 1563 else if( p[pixel[4]] < c_b) 1564 if( p[pixel[5]] > cb) 1565 if( p[pixel[15]] < c_b) 1566 if( p[pixel[11]] > cb) 1567 if( p[pixel[6]] > cb) 1568 if( p[pixel[7]] > cb) 1569 if( p[pixel[8]] > cb) 1570 if( p[pixel[9]] > cb) 1571 if( p[pixel[10]] > cb) 1572 if( p[pixel[12]] > cb) 1573 if( p[pixel[13]] > cb) 1574 if( p[pixel[14]] > cb) 1575 goto is_a_corner; 1576 else 1577 goto is_not_a_corner; 1578 else 1579 goto is_not_a_corner; 1580 else 1581 goto is_not_a_corner; 1582 else 1583 goto is_not_a_corner; 1584 else 1585 goto is_not_a_corner; 1586 else 1587 goto is_not_a_corner; 1588 else 1589 goto is_not_a_corner; 1590 else 1591 goto is_not_a_corner; 1592 else if( p[pixel[11]] < c_b) 1593 if( p[pixel[12]] < c_b) 1594 if( p[pixel[13]] < c_b) 1595 if( p[pixel[14]] < c_b) 1596 goto is_a_corner; 1597 else 1598 goto is_not_a_corner; 1599 else 1600 goto is_not_a_corner; 1601 else 1602 goto is_not_a_corner; 1603 else 1604 goto is_not_a_corner; 1605 else 1606 if( p[pixel[6]] > cb) 1607 if( p[pixel[7]] > cb) 1608 if( p[pixel[8]] > cb) 1609 if( p[pixel[9]] > cb) 1610 if( p[pixel[10]] > cb) 1611 if( p[pixel[11]] > cb) 1612 if( p[pixel[12]] > cb) 1613 if( p[pixel[13]] > cb) 1614 if( p[pixel[14]] > cb) 1615 goto is_a_corner; 1616 else 1617 goto is_not_a_corner; 1618 else 1619 goto is_not_a_corner; 1620 else 1621 goto is_not_a_corner; 1622 else 1623 goto is_not_a_corner; 1624 else 1625 goto is_not_a_corner; 1626 else 1627 goto is_not_a_corner; 1628 else 1629 goto is_not_a_corner; 1630 else 1631 goto is_not_a_corner; 1632 else 1633 goto is_not_a_corner; 1634 else if( p[pixel[5]] < c_b) 1635 if( p[pixel[6]] > cb) 1636 if( p[pixel[12]] > cb) 1637 if( p[pixel[7]] > cb) 1638 if( p[pixel[8]] > cb) 1639 if( p[pixel[9]] > cb) 1640 if( p[pixel[10]] > cb) 1641 if( p[pixel[11]] > cb) 1642 if( p[pixel[13]] > cb) 1643 if( p[pixel[14]] > cb) 1644 if( p[pixel[15]] > cb) 1645 goto is_a_corner; 1646 else 1647 goto is_not_a_corner; 1648 else 1649 goto is_not_a_corner; 1650 else 1651 goto is_not_a_corner; 1652 else 1653 goto is_not_a_corner; 1654 else 1655 goto is_not_a_corner; 1656 else 1657 goto is_not_a_corner; 1658 else 1659 goto is_not_a_corner; 1660 else 1661 goto is_not_a_corner; 1662 else if( p[pixel[12]] < c_b) 1663 if( p[pixel[13]] < c_b) 1664 if( p[pixel[14]] < c_b) 1665 if( p[pixel[15]] < c_b) 1666 goto is_a_corner; 1667 else 1668 goto is_not_a_corner; 1669 else 1670 goto is_not_a_corner; 1671 else 1672 goto is_not_a_corner; 1673 else 1674 goto is_not_a_corner; 1675 else if( p[pixel[6]] < c_b) 1676 if( p[pixel[7]] < c_b) 1677 if( p[pixel[8]] < c_b) 1678 if( p[pixel[9]] < c_b) 1679 goto is_a_corner; 1680 else 1681 if( p[pixel[15]] < c_b) 1682 goto is_a_corner; 1683 else 1684 goto is_not_a_corner; 1685 else 1686 if( p[pixel[14]] < c_b) 1687 if( p[pixel[15]] < c_b) 1688 goto is_a_corner; 1689 else 1690 goto is_not_a_corner; 1691 else 1692 goto is_not_a_corner; 1693 else 1694 if( p[pixel[13]] < c_b) 1695 if( p[pixel[14]] < c_b) 1696 if( p[pixel[15]] < c_b) 1697 goto is_a_corner; 1698 else 1699 goto is_not_a_corner; 1700 else 1701 goto is_not_a_corner; 1702 else 1703 goto is_not_a_corner; 1704 else 1705 if( p[pixel[12]] < c_b) 1706 if( p[pixel[13]] < c_b) 1707 if( p[pixel[14]] < c_b) 1708 if( p[pixel[15]] < c_b) 1709 goto is_a_corner; 1710 else 1711 goto is_not_a_corner; 1712 else 1713 goto is_not_a_corner; 1714 else 1715 goto is_not_a_corner; 1716 else 1717 goto is_not_a_corner; 1718 else 1719 if( p[pixel[11]] > cb) 1720 if( p[pixel[6]] > cb) 1721 if( p[pixel[7]] > cb) 1722 if( p[pixel[8]] > cb) 1723 if( p[pixel[9]] > cb) 1724 if( p[pixel[10]] > cb) 1725 if( p[pixel[12]] > cb) 1726 if( p[pixel[13]] > cb) 1727 if( p[pixel[14]] > cb) 1728 if( p[pixel[15]] > cb) 1729 goto is_a_corner; 1730 else 1731 goto is_not_a_corner; 1732 else 1733 goto is_not_a_corner; 1734 else 1735 goto is_not_a_corner; 1736 else 1737 goto is_not_a_corner; 1738 else 1739 goto is_not_a_corner; 1740 else 1741 goto is_not_a_corner; 1742 else 1743 goto is_not_a_corner; 1744 else 1745 goto is_not_a_corner; 1746 else 1747 goto is_not_a_corner; 1748 else if( p[pixel[11]] < c_b) 1749 if( p[pixel[12]] < c_b) 1750 if( p[pixel[13]] < c_b) 1751 if( p[pixel[14]] < c_b) 1752 if( p[pixel[15]] < c_b) 1753 goto is_a_corner; 1754 else 1755 goto is_not_a_corner; 1756 else 1757 goto is_not_a_corner; 1758 else 1759 goto is_not_a_corner; 1760 else 1761 goto is_not_a_corner; 1762 else 1763 goto is_not_a_corner; 1764 else 1765 if( p[pixel[10]] > cb) 1766 if( p[pixel[6]] > cb) 1767 if( p[pixel[7]] > cb) 1768 if( p[pixel[8]] > cb) 1769 if( p[pixel[9]] > cb) 1770 if( p[pixel[11]] > cb) 1771 if( p[pixel[12]] > cb) 1772 if( p[pixel[13]] > cb) 1773 if( p[pixel[14]] > cb) 1774 if( p[pixel[5]] > cb) 1775 goto is_a_corner; 1776 else 1777 if( p[pixel[15]] > cb) 1778 goto is_a_corner; 1779 else 1780 goto is_not_a_corner; 1781 else 1782 goto is_not_a_corner; 1783 else 1784 goto is_not_a_corner; 1785 else 1786 goto is_not_a_corner; 1787 else 1788 goto is_not_a_corner; 1789 else 1790 goto is_not_a_corner; 1791 else 1792 goto is_not_a_corner; 1793 else 1794 goto is_not_a_corner; 1795 else 1796 goto is_not_a_corner; 1797 else if( p[pixel[10]] < c_b) 1798 if( p[pixel[11]] < c_b) 1799 if( p[pixel[12]] < c_b) 1800 if( p[pixel[13]] < c_b) 1801 if( p[pixel[14]] < c_b) 1802 if( p[pixel[15]] < c_b) 1803 goto is_a_corner; 1804 else 1805 if( p[pixel[5]] < c_b) 1806 if( p[pixel[6]] < c_b) 1807 if( p[pixel[7]] < c_b) 1808 if( p[pixel[8]] < c_b) 1809 if( p[pixel[9]] < c_b) 1810 goto is_a_corner; 1811 else 1812 goto is_not_a_corner; 1813 else 1814 goto is_not_a_corner; 1815 else 1816 goto is_not_a_corner; 1817 else 1818 goto is_not_a_corner; 1819 else 1820 goto is_not_a_corner; 1821 else 1822 goto is_not_a_corner; 1823 else 1824 goto is_not_a_corner; 1825 else 1826 goto is_not_a_corner; 1827 else 1828 goto is_not_a_corner; 1829 else 1830 goto is_not_a_corner; 1831 else 1832 if( p[pixel[9]] > cb) 1833 if( p[pixel[6]] > cb) 1834 if( p[pixel[7]] > cb) 1835 if( p[pixel[8]] > cb) 1836 if( p[pixel[10]] > cb) 1837 if( p[pixel[11]] > cb) 1838 if( p[pixel[12]] > cb) 1839 if( p[pixel[13]] > cb) 1840 if( p[pixel[5]] > cb) 1841 if( p[pixel[4]] > cb) 1842 goto is_a_corner; 1843 else 1844 if( p[pixel[14]] > cb) 1845 goto is_a_corner; 1846 else 1847 goto is_not_a_corner; 1848 else 1849 if( p[pixel[14]] > cb) 1850 if( p[pixel[15]] > cb) 1851 goto is_a_corner; 1852 else 1853 goto is_not_a_corner; 1854 else 1855 goto is_not_a_corner; 1856 else 1857 goto is_not_a_corner; 1858 else 1859 goto is_not_a_corner; 1860 else 1861 goto is_not_a_corner; 1862 else 1863 goto is_not_a_corner; 1864 else 1865 goto is_not_a_corner; 1866 else 1867 goto is_not_a_corner; 1868 else 1869 goto is_not_a_corner; 1870 else if( p[pixel[9]] < c_b) 1871 if( p[pixel[10]] < c_b) 1872 if( p[pixel[11]] < c_b) 1873 if( p[pixel[12]] < c_b) 1874 if( p[pixel[13]] < c_b) 1875 if( p[pixel[14]] < c_b) 1876 if( p[pixel[15]] < c_b) 1877 goto is_a_corner; 1878 else 1879 if( p[pixel[5]] < c_b) 1880 if( p[pixel[6]] < c_b) 1881 if( p[pixel[7]] < c_b) 1882 if( p[pixel[8]] < c_b) 1883 goto is_a_corner; 1884 else 1885 goto is_not_a_corner; 1886 else 1887 goto is_not_a_corner; 1888 else 1889 goto is_not_a_corner; 1890 else 1891 goto is_not_a_corner; 1892 else 1893 if( p[pixel[4]] < c_b) 1894 if( p[pixel[5]] < c_b) 1895 if( p[pixel[6]] < c_b) 1896 if( p[pixel[7]] < c_b) 1897 if( p[pixel[8]] < c_b) 1898 goto is_a_corner; 1899 else 1900 goto is_not_a_corner; 1901 else 1902 goto is_not_a_corner; 1903 else 1904 goto is_not_a_corner; 1905 else 1906 goto is_not_a_corner; 1907 else 1908 goto is_not_a_corner; 1909 else 1910 goto is_not_a_corner; 1911 else 1912 goto is_not_a_corner; 1913 else 1914 goto is_not_a_corner; 1915 else 1916 goto is_not_a_corner; 1917 else 1918 goto is_not_a_corner; 1919 else 1920 if( p[pixel[8]] > cb) 1921 if( p[pixel[6]] > cb) 1922 if( p[pixel[7]] > cb) 1923 if( p[pixel[9]] > cb) 1924 if( p[pixel[10]] > cb) 1925 if( p[pixel[11]] > cb) 1926 if( p[pixel[12]] > cb) 1927 if( p[pixel[5]] > cb) 1928 if( p[pixel[4]] > cb) 1929 if( p[pixel[3]] > cb) 1930 goto is_a_corner; 1931 else 1932 if( p[pixel[13]] > cb) 1933 goto is_a_corner; 1934 else 1935 goto is_not_a_corner; 1936 else 1937 if( p[pixel[13]] > cb) 1938 if( p[pixel[14]] > cb) 1939 goto is_a_corner; 1940 else 1941 goto is_not_a_corner; 1942 else 1943 goto is_not_a_corner; 1944 else 1945 if( p[pixel[13]] > cb) 1946 if( p[pixel[14]] > cb) 1947 if( p[pixel[15]] > cb) 1948 goto is_a_corner; 1949 else 1950 goto is_not_a_corner; 1951 else 1952 goto is_not_a_corner; 1953 else 1954 goto is_not_a_corner; 1955 else 1956 goto is_not_a_corner; 1957 else 1958 goto is_not_a_corner; 1959 else 1960 goto is_not_a_corner; 1961 else 1962 goto is_not_a_corner; 1963 else 1964 goto is_not_a_corner; 1965 else 1966 goto is_not_a_corner; 1967 else if( p[pixel[8]] < c_b) 1968 if( p[pixel[9]] < c_b) 1969 if( p[pixel[10]] < c_b) 1970 if( p[pixel[11]] < c_b) 1971 if( p[pixel[12]] < c_b) 1972 if( p[pixel[13]] < c_b) 1973 if( p[pixel[14]] < c_b) 1974 if( p[pixel[15]] < c_b) 1975 goto is_a_corner; 1976 else 1977 if( p[pixel[5]] < c_b) 1978 if( p[pixel[6]] < c_b) 1979 if( p[pixel[7]] < c_b) 1980 goto is_a_corner; 1981 else 1982 goto is_not_a_corner; 1983 else 1984 goto is_not_a_corner; 1985 else 1986 goto is_not_a_corner; 1987 else 1988 if( p[pixel[4]] < c_b) 1989 if( p[pixel[5]] < c_b) 1990 if( p[pixel[6]] < c_b) 1991 if( p[pixel[7]] < c_b) 1992 goto is_a_corner; 1993 else 1994 goto is_not_a_corner; 1995 else 1996 goto is_not_a_corner; 1997 else 1998 goto is_not_a_corner; 1999 else 2000 goto is_not_a_corner; 2001 else 2002 if( p[pixel[3]] < c_b) 2003 if( p[pixel[4]] < c_b) 2004 if( p[pixel[5]] < c_b) 2005 if( p[pixel[6]] < c_b) 2006 if( p[pixel[7]] < c_b) 2007 goto is_a_corner; 2008 else 2009 goto is_not_a_corner; 2010 else 2011 goto is_not_a_corner; 2012 else 2013 goto is_not_a_corner; 2014 else 2015 goto is_not_a_corner; 2016 else 2017 goto is_not_a_corner; 2018 else 2019 goto is_not_a_corner; 2020 else 2021 goto is_not_a_corner; 2022 else 2023 goto is_not_a_corner; 2024 else 2025 goto is_not_a_corner; 2026 else 2027 goto is_not_a_corner; 2028 else 2029 if( p[pixel[7]] > cb) 2030 if( p[pixel[6]] > cb) 2031 if( p[pixel[8]] > cb) 2032 if( p[pixel[9]] > cb) 2033 if( p[pixel[10]] > cb) 2034 if( p[pixel[11]] > cb) 2035 if( p[pixel[5]] > cb) 2036 if( p[pixel[4]] > cb) 2037 if( p[pixel[3]] > cb) 2038 if( p[pixel[2]] > cb) 2039 goto is_a_corner; 2040 else 2041 if( p[pixel[12]] > cb) 2042 goto is_a_corner; 2043 else 2044 goto is_not_a_corner; 2045 else 2046 if( p[pixel[12]] > cb) 2047 if( p[pixel[13]] > cb) 2048 goto is_a_corner; 2049 else 2050 goto is_not_a_corner; 2051 else 2052 goto is_not_a_corner; 2053 else 2054 if( p[pixel[12]] > cb) 2055 if( p[pixel[13]] > cb) 2056 if( p[pixel[14]] > cb) 2057 goto is_a_corner; 2058 else 2059 goto is_not_a_corner; 2060 else 2061 goto is_not_a_corner; 2062 else 2063 goto is_not_a_corner; 2064 else 2065 if( p[pixel[12]] > cb) 2066 if( p[pixel[13]] > cb) 2067 if( p[pixel[14]] > cb) 2068 if( p[pixel[15]] > cb) 2069 goto is_a_corner; 2070 else 2071 goto is_not_a_corner; 2072 else 2073 goto is_not_a_corner; 2074 else 2075 goto is_not_a_corner; 2076 else 2077 goto is_not_a_corner; 2078 else 2079 goto is_not_a_corner; 2080 else 2081 goto is_not_a_corner; 2082 else 2083 goto is_not_a_corner; 2084 else 2085 goto is_not_a_corner; 2086 else 2087 goto is_not_a_corner; 2088 else if( p[pixel[7]] < c_b) 2089 if( p[pixel[8]] < c_b) 2090 if( p[pixel[9]] < c_b) 2091 if( p[pixel[10]] < c_b) 2092 if( p[pixel[11]] < c_b) 2093 if( p[pixel[12]] < c_b) 2094 if( p[pixel[13]] < c_b) 2095 if( p[pixel[14]] < c_b) 2096 if( p[pixel[15]] < c_b) 2097 goto is_a_corner; 2098 else 2099 if( p[pixel[5]] < c_b) 2100 if( p[pixel[6]] < c_b) 2101 goto is_a_corner; 2102 else 2103 goto is_not_a_corner; 2104 else 2105 goto is_not_a_corner; 2106 else 2107 if( p[pixel[4]] < c_b) 2108 if( p[pixel[5]] < c_b) 2109 if( p[pixel[6]] < c_b) 2110 goto is_a_corner; 2111 else 2112 goto is_not_a_corner; 2113 else 2114 goto is_not_a_corner; 2115 else 2116 goto is_not_a_corner; 2117 else 2118 if( p[pixel[3]] < c_b) 2119 if( p[pixel[4]] < c_b) 2120 if( p[pixel[5]] < c_b) 2121 if( p[pixel[6]] < c_b) 2122 goto is_a_corner; 2123 else 2124 goto is_not_a_corner; 2125 else 2126 goto is_not_a_corner; 2127 else 2128 goto is_not_a_corner; 2129 else 2130 goto is_not_a_corner; 2131 else 2132 if( p[pixel[2]] < c_b) 2133 if( p[pixel[3]] < c_b) 2134 if( p[pixel[4]] < c_b) 2135 if( p[pixel[5]] < c_b) 2136 if( p[pixel[6]] < c_b) 2137 goto is_a_corner; 2138 else 2139 goto is_not_a_corner; 2140 else 2141 goto is_not_a_corner; 2142 else 2143 goto is_not_a_corner; 2144 else 2145 goto is_not_a_corner; 2146 else 2147 goto is_not_a_corner; 2148 else 2149 goto is_not_a_corner; 2150 else 2151 goto is_not_a_corner; 2152 else 2153 goto is_not_a_corner; 2154 else 2155 goto is_not_a_corner; 2156 else 2157 goto is_not_a_corner; 2158 else 2159 if( p[pixel[6]] > cb) 2160 if( p[pixel[7]] > cb) 2161 if( p[pixel[8]] > cb) 2162 if( p[pixel[9]] > cb) 2163 if( p[pixel[10]] > cb) 2164 if( p[pixel[5]] > cb) 2165 if( p[pixel[4]] > cb) 2166 if( p[pixel[3]] > cb) 2167 if( p[pixel[2]] > cb) 2168 if( p[pixel[1]] > cb) 2169 goto is_a_corner; 2170 else 2171 if( p[pixel[11]] > cb) 2172 goto is_a_corner; 2173 else 2174 goto is_not_a_corner; 2175 else 2176 if( p[pixel[11]] > cb) 2177 if( p[pixel[12]] > cb) 2178 goto is_a_corner; 2179 else 2180 goto is_not_a_corner; 2181 else 2182 goto is_not_a_corner; 2183 else 2184 if( p[pixel[11]] > cb) 2185 if( p[pixel[12]] > cb) 2186 if( p[pixel[13]] > cb) 2187 goto is_a_corner; 2188 else 2189 goto is_not_a_corner; 2190 else 2191 goto is_not_a_corner; 2192 else 2193 goto is_not_a_corner; 2194 else 2195 if( p[pixel[11]] > cb) 2196 if( p[pixel[12]] > cb) 2197 if( p[pixel[13]] > cb) 2198 if( p[pixel[14]] > cb) 2199 goto is_a_corner; 2200 else 2201 goto is_not_a_corner; 2202 else 2203 goto is_not_a_corner; 2204 else 2205 goto is_not_a_corner; 2206 else 2207 goto is_not_a_corner; 2208 else 2209 if( p[pixel[11]] > cb) 2210 if( p[pixel[12]] > cb) 2211 if( p[pixel[13]] > cb) 2212 if( p[pixel[14]] > cb) 2213 if( p[pixel[15]] > cb) 2214 goto is_a_corner; 2215 else 2216 goto is_not_a_corner; 2217 else 2218 goto is_not_a_corner; 2219 else 2220 goto is_not_a_corner; 2221 else 2222 goto is_not_a_corner; 2223 else 2224 goto is_not_a_corner; 2225 else 2226 goto is_not_a_corner; 2227 else 2228 goto is_not_a_corner; 2229 else 2230 goto is_not_a_corner; 2231 else 2232 goto is_not_a_corner; 2233 else if( p[pixel[6]] < c_b) 2234 if( p[pixel[7]] < c_b) 2235 if( p[pixel[8]] < c_b) 2236 if( p[pixel[9]] < c_b) 2237 if( p[pixel[10]] < c_b) 2238 if( p[pixel[5]] < c_b) 2239 if( p[pixel[4]] < c_b) 2240 if( p[pixel[3]] < c_b) 2241 if( p[pixel[2]] < c_b) 2242 if( p[pixel[1]] < c_b) 2243 goto is_a_corner; 2244 else 2245 if( p[pixel[11]] < c_b) 2246 goto is_a_corner; 2247 else 2248 goto is_not_a_corner; 2249 else 2250 if( p[pixel[11]] < c_b) 2251 if( p[pixel[12]] < c_b) 2252 goto is_a_corner; 2253 else 2254 goto is_not_a_corner; 2255 else 2256 goto is_not_a_corner; 2257 else 2258 if( p[pixel[11]] < c_b) 2259 if( p[pixel[12]] < c_b) 2260 if( p[pixel[13]] < c_b) 2261 goto is_a_corner; 2262 else 2263 goto is_not_a_corner; 2264 else 2265 goto is_not_a_corner; 2266 else 2267 goto is_not_a_corner; 2268 else 2269 if( p[pixel[11]] < c_b) 2270 if( p[pixel[12]] < c_b) 2271 if( p[pixel[13]] < c_b) 2272 if( p[pixel[14]] < c_b) 2273 goto is_a_corner; 2274 else 2275 goto is_not_a_corner; 2276 else 2277 goto is_not_a_corner; 2278 else 2279 goto is_not_a_corner; 2280 else 2281 goto is_not_a_corner; 2282 else 2283 if( p[pixel[11]] < c_b) 2284 if( p[pixel[12]] < c_b) 2285 if( p[pixel[13]] < c_b) 2286 if( p[pixel[14]] < c_b) 2287 if( p[pixel[15]] < c_b) 2288 goto is_a_corner; 2289 else 2290 goto is_not_a_corner; 2291 else 2292 goto is_not_a_corner; 2293 else 2294 goto is_not_a_corner; 2295 else 2296 goto is_not_a_corner; 2297 else 2298 goto is_not_a_corner; 2299 else 2300 goto is_not_a_corner; 2301 else 2302 goto is_not_a_corner; 2303 else 2304 goto is_not_a_corner; 2305 else 2306 goto is_not_a_corner; 2307 else 2308 goto is_not_a_corner; 2309 2310 is_a_corner: 2311 bmin=b; 2312 goto end_if; 2313 2314 is_not_a_corner: 2315 bmax=b; 2316 goto end_if; 2317 2318 end_if: 2319 2320 if(bmin == bmax - 1 || bmin == bmax) 2321 return bmin; 2322 b = (bmin + bmax) / 2; 2323 } 2324 return 0; 2325 } 2326 2327 static void make_offsets(int *pixel, int row_stride) 2328 { 2329 pixel[0] = 0 + row_stride * 3; 2330 pixel[1] = 1 + row_stride * 3; 2331 pixel[2] = 2 + row_stride * 2; 2332 pixel[3] = 3 + row_stride * 1; 2333 pixel[4] = 3 + row_stride * 0; 2334 pixel[5] = 3 + row_stride * -1; 2335 pixel[6] = 2 + row_stride * -2; 2336 pixel[7] = 1 + row_stride * -3; 2337 pixel[8] = 0 + row_stride * -3; 2338 pixel[9] = -1 + row_stride * -3; 2339 pixel[10] = -2 + row_stride * -2; 2340 pixel[11] = -3 + row_stride * -1; 2341 pixel[12] = -3 + row_stride * 0; 2342 pixel[13] = -3 + row_stride * 1; 2343 pixel[14] = -2 + row_stride * 2; 2344 pixel[15] = -1 + row_stride * 3; 2345 } 2346 2347 2348 2349 int* fast10_score(const ubyte* i, int stride, xy* corners, int num_corners, int b) 2350 { 2351 int* scores = cast(int*)malloc(int.sizeof* num_corners); 2352 int n; 2353 2354 int [16]pixel; 2355 make_offsets(pixel.ptr, stride); 2356 2357 for(n=0; n < num_corners; n++) 2358 scores[n] = fast10_corner_score(i + corners[n].y*stride + corners[n].x, pixel.ptr, b); 2359 2360 return scores; 2361 } 2362 2363 2364 xy* fast10_detect(const ubyte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners) 2365 { 2366 int num_corners=0; 2367 xy* ret_corners; 2368 int rsize=512; 2369 int [16]pixel; 2370 int x, y; 2371 2372 ret_corners = cast(xy*)malloc(xy.sizeof*rsize); 2373 make_offsets(pixel.ptr, stride); 2374 2375 for(y=3; y < ysize - 3; y++) 2376 for(x=3; x < xsize - 3; x++) 2377 { 2378 const ubyte* p = im + y*stride + x; 2379 2380 int cb = *p + b; 2381 int c_b= *p - b; 2382 if(p[pixel[0]] > cb) 2383 if(p[pixel[1]] > cb) 2384 if(p[pixel[2]] > cb) 2385 if(p[pixel[3]] > cb) 2386 if(p[pixel[4]] > cb) 2387 if(p[pixel[5]] > cb) 2388 if(p[pixel[6]] > cb) 2389 if(p[pixel[7]] > cb) 2390 if(p[pixel[8]] > cb) 2391 if(p[pixel[9]] > cb) 2392 {} 2393 else 2394 if(p[pixel[15]] > cb) 2395 {} 2396 else 2397 continue; 2398 else 2399 if(p[pixel[14]] > cb) 2400 if(p[pixel[15]] > cb) 2401 {} 2402 else 2403 continue; 2404 else 2405 continue; 2406 else 2407 if(p[pixel[13]] > cb) 2408 if(p[pixel[14]] > cb) 2409 if(p[pixel[15]] > cb) 2410 {} 2411 else 2412 continue; 2413 else 2414 continue; 2415 else 2416 continue; 2417 else if(p[pixel[6]] < c_b) 2418 if(p[pixel[12]] > cb) 2419 if(p[pixel[13]] > cb) 2420 if(p[pixel[14]] > cb) 2421 if(p[pixel[15]] > cb) 2422 {} 2423 else 2424 continue; 2425 else 2426 continue; 2427 else 2428 continue; 2429 else if(p[pixel[12]] < c_b) 2430 if(p[pixel[7]] < c_b) 2431 if(p[pixel[8]] < c_b) 2432 if(p[pixel[9]] < c_b) 2433 if(p[pixel[10]] < c_b) 2434 if(p[pixel[11]] < c_b) 2435 if(p[pixel[13]] < c_b) 2436 if(p[pixel[14]] < c_b) 2437 if(p[pixel[15]] < c_b) 2438 {} 2439 else 2440 continue; 2441 else 2442 continue; 2443 else 2444 continue; 2445 else 2446 continue; 2447 else 2448 continue; 2449 else 2450 continue; 2451 else 2452 continue; 2453 else 2454 continue; 2455 else 2456 continue; 2457 else 2458 if(p[pixel[12]] > cb) 2459 if(p[pixel[13]] > cb) 2460 if(p[pixel[14]] > cb) 2461 if(p[pixel[15]] > cb) 2462 {} 2463 else 2464 continue; 2465 else 2466 continue; 2467 else 2468 continue; 2469 else 2470 continue; 2471 else if(p[pixel[5]] < c_b) 2472 if(p[pixel[15]] > cb) 2473 if(p[pixel[11]] > cb) 2474 if(p[pixel[12]] > cb) 2475 if(p[pixel[13]] > cb) 2476 if(p[pixel[14]] > cb) 2477 {} 2478 else 2479 continue; 2480 else 2481 continue; 2482 else 2483 continue; 2484 else if(p[pixel[11]] < c_b) 2485 if(p[pixel[6]] < c_b) 2486 if(p[pixel[7]] < c_b) 2487 if(p[pixel[8]] < c_b) 2488 if(p[pixel[9]] < c_b) 2489 if(p[pixel[10]] < c_b) 2490 if(p[pixel[12]] < c_b) 2491 if(p[pixel[13]] < c_b) 2492 if(p[pixel[14]] < c_b) 2493 {} 2494 else 2495 continue; 2496 else 2497 continue; 2498 else 2499 continue; 2500 else 2501 continue; 2502 else 2503 continue; 2504 else 2505 continue; 2506 else 2507 continue; 2508 else 2509 continue; 2510 else 2511 continue; 2512 else 2513 if(p[pixel[6]] < c_b) 2514 if(p[pixel[7]] < c_b) 2515 if(p[pixel[8]] < c_b) 2516 if(p[pixel[9]] < c_b) 2517 if(p[pixel[10]] < c_b) 2518 if(p[pixel[11]] < c_b) 2519 if(p[pixel[12]] < c_b) 2520 if(p[pixel[13]] < c_b) 2521 if(p[pixel[14]] < c_b) 2522 {} 2523 else 2524 continue; 2525 else 2526 continue; 2527 else 2528 continue; 2529 else 2530 continue; 2531 else 2532 continue; 2533 else 2534 continue; 2535 else 2536 continue; 2537 else 2538 continue; 2539 else 2540 continue; 2541 else 2542 if(p[pixel[11]] > cb) 2543 if(p[pixel[12]] > cb) 2544 if(p[pixel[13]] > cb) 2545 if(p[pixel[14]] > cb) 2546 if(p[pixel[15]] > cb) 2547 {} 2548 else 2549 continue; 2550 else 2551 continue; 2552 else 2553 continue; 2554 else 2555 continue; 2556 else if(p[pixel[11]] < c_b) 2557 if(p[pixel[6]] < c_b) 2558 if(p[pixel[7]] < c_b) 2559 if(p[pixel[8]] < c_b) 2560 if(p[pixel[9]] < c_b) 2561 if(p[pixel[10]] < c_b) 2562 if(p[pixel[12]] < c_b) 2563 if(p[pixel[13]] < c_b) 2564 if(p[pixel[14]] < c_b) 2565 if(p[pixel[15]] < c_b) 2566 {} 2567 else 2568 continue; 2569 else 2570 continue; 2571 else 2572 continue; 2573 else 2574 continue; 2575 else 2576 continue; 2577 else 2578 continue; 2579 else 2580 continue; 2581 else 2582 continue; 2583 else 2584 continue; 2585 else 2586 continue; 2587 else if(p[pixel[4]] < c_b) 2588 if(p[pixel[14]] > cb) 2589 if(p[pixel[10]] > cb) 2590 if(p[pixel[11]] > cb) 2591 if(p[pixel[12]] > cb) 2592 if(p[pixel[13]] > cb) 2593 if(p[pixel[15]] > cb) 2594 {} 2595 else 2596 if(p[pixel[5]] > cb) 2597 if(p[pixel[6]] > cb) 2598 if(p[pixel[7]] > cb) 2599 if(p[pixel[8]] > cb) 2600 if(p[pixel[9]] > cb) 2601 {} 2602 else 2603 continue; 2604 else 2605 continue; 2606 else 2607 continue; 2608 else 2609 continue; 2610 else 2611 continue; 2612 else 2613 continue; 2614 else 2615 continue; 2616 else 2617 continue; 2618 else if(p[pixel[10]] < c_b) 2619 if(p[pixel[5]] < c_b) 2620 if(p[pixel[6]] < c_b) 2621 if(p[pixel[7]] < c_b) 2622 if(p[pixel[8]] < c_b) 2623 if(p[pixel[9]] < c_b) 2624 if(p[pixel[11]] < c_b) 2625 if(p[pixel[12]] < c_b) 2626 if(p[pixel[13]] < c_b) 2627 {} 2628 else 2629 continue; 2630 else 2631 continue; 2632 else 2633 continue; 2634 else 2635 continue; 2636 else 2637 continue; 2638 else 2639 continue; 2640 else 2641 continue; 2642 else 2643 continue; 2644 else 2645 continue; 2646 else if(p[pixel[14]] < c_b) 2647 if(p[pixel[6]] < c_b) 2648 if(p[pixel[7]] < c_b) 2649 if(p[pixel[8]] < c_b) 2650 if(p[pixel[9]] < c_b) 2651 if(p[pixel[10]] < c_b) 2652 if(p[pixel[11]] < c_b) 2653 if(p[pixel[12]] < c_b) 2654 if(p[pixel[13]] < c_b) 2655 if(p[pixel[5]] < c_b) 2656 {} 2657 else 2658 if(p[pixel[15]] < c_b) 2659 {} 2660 else 2661 continue; 2662 else 2663 continue; 2664 else 2665 continue; 2666 else 2667 continue; 2668 else 2669 continue; 2670 else 2671 continue; 2672 else 2673 continue; 2674 else 2675 continue; 2676 else 2677 continue; 2678 else 2679 if(p[pixel[5]] < c_b) 2680 if(p[pixel[6]] < c_b) 2681 if(p[pixel[7]] < c_b) 2682 if(p[pixel[8]] < c_b) 2683 if(p[pixel[9]] < c_b) 2684 if(p[pixel[10]] < c_b) 2685 if(p[pixel[11]] < c_b) 2686 if(p[pixel[12]] < c_b) 2687 if(p[pixel[13]] < c_b) 2688 {} 2689 else 2690 continue; 2691 else 2692 continue; 2693 else 2694 continue; 2695 else 2696 continue; 2697 else 2698 continue; 2699 else 2700 continue; 2701 else 2702 continue; 2703 else 2704 continue; 2705 else 2706 continue; 2707 else 2708 if(p[pixel[10]] > cb) 2709 if(p[pixel[11]] > cb) 2710 if(p[pixel[12]] > cb) 2711 if(p[pixel[13]] > cb) 2712 if(p[pixel[14]] > cb) 2713 if(p[pixel[15]] > cb) 2714 {} 2715 else 2716 if(p[pixel[5]] > cb) 2717 if(p[pixel[6]] > cb) 2718 if(p[pixel[7]] > cb) 2719 if(p[pixel[8]] > cb) 2720 if(p[pixel[9]] > cb) 2721 {} 2722 else 2723 continue; 2724 else 2725 continue; 2726 else 2727 continue; 2728 else 2729 continue; 2730 else 2731 continue; 2732 else 2733 continue; 2734 else 2735 continue; 2736 else 2737 continue; 2738 else 2739 continue; 2740 else if(p[pixel[10]] < c_b) 2741 if(p[pixel[6]] < c_b) 2742 if(p[pixel[7]] < c_b) 2743 if(p[pixel[8]] < c_b) 2744 if(p[pixel[9]] < c_b) 2745 if(p[pixel[11]] < c_b) 2746 if(p[pixel[12]] < c_b) 2747 if(p[pixel[13]] < c_b) 2748 if(p[pixel[14]] < c_b) 2749 if(p[pixel[5]] < c_b) 2750 {} 2751 else 2752 if(p[pixel[15]] < c_b) 2753 {} 2754 else 2755 continue; 2756 else 2757 continue; 2758 else 2759 continue; 2760 else 2761 continue; 2762 else 2763 continue; 2764 else 2765 continue; 2766 else 2767 continue; 2768 else 2769 continue; 2770 else 2771 continue; 2772 else 2773 continue; 2774 else if(p[pixel[3]] < c_b) 2775 if(p[pixel[9]] > cb) 2776 if(p[pixel[10]] > cb) 2777 if(p[pixel[11]] > cb) 2778 if(p[pixel[12]] > cb) 2779 if(p[pixel[13]] > cb) 2780 if(p[pixel[14]] > cb) 2781 if(p[pixel[15]] > cb) 2782 {} 2783 else 2784 if(p[pixel[5]] > cb) 2785 if(p[pixel[6]] > cb) 2786 if(p[pixel[7]] > cb) 2787 if(p[pixel[8]] > cb) 2788 {} 2789 else 2790 continue; 2791 else 2792 continue; 2793 else 2794 continue; 2795 else 2796 continue; 2797 else 2798 if(p[pixel[4]] > cb) 2799 if(p[pixel[5]] > cb) 2800 if(p[pixel[6]] > cb) 2801 if(p[pixel[7]] > cb) 2802 if(p[pixel[8]] > cb) 2803 {} 2804 else 2805 continue; 2806 else 2807 continue; 2808 else 2809 continue; 2810 else 2811 continue; 2812 else 2813 continue; 2814 else 2815 continue; 2816 else 2817 continue; 2818 else 2819 continue; 2820 else 2821 continue; 2822 else if(p[pixel[9]] < c_b) 2823 if(p[pixel[6]] < c_b) 2824 if(p[pixel[7]] < c_b) 2825 if(p[pixel[8]] < c_b) 2826 if(p[pixel[10]] < c_b) 2827 if(p[pixel[11]] < c_b) 2828 if(p[pixel[12]] < c_b) 2829 if(p[pixel[5]] < c_b) 2830 if(p[pixel[4]] < c_b) 2831 {} 2832 else 2833 if(p[pixel[13]] < c_b) 2834 if(p[pixel[14]] < c_b) 2835 {} 2836 else 2837 continue; 2838 else 2839 continue; 2840 else 2841 if(p[pixel[13]] < c_b) 2842 if(p[pixel[14]] < c_b) 2843 if(p[pixel[15]] < c_b) 2844 {} 2845 else 2846 continue; 2847 else 2848 continue; 2849 else 2850 continue; 2851 else 2852 continue; 2853 else 2854 continue; 2855 else 2856 continue; 2857 else 2858 continue; 2859 else 2860 continue; 2861 else 2862 continue; 2863 else 2864 continue; 2865 else 2866 if(p[pixel[9]] > cb) 2867 if(p[pixel[10]] > cb) 2868 if(p[pixel[11]] > cb) 2869 if(p[pixel[12]] > cb) 2870 if(p[pixel[13]] > cb) 2871 if(p[pixel[14]] > cb) 2872 if(p[pixel[15]] > cb) 2873 {} 2874 else 2875 if(p[pixel[5]] > cb) 2876 if(p[pixel[6]] > cb) 2877 if(p[pixel[7]] > cb) 2878 if(p[pixel[8]] > cb) 2879 {} 2880 else 2881 continue; 2882 else 2883 continue; 2884 else 2885 continue; 2886 else 2887 continue; 2888 else 2889 if(p[pixel[4]] > cb) 2890 if(p[pixel[5]] > cb) 2891 if(p[pixel[6]] > cb) 2892 if(p[pixel[7]] > cb) 2893 if(p[pixel[8]] > cb) 2894 {} 2895 else 2896 continue; 2897 else 2898 continue; 2899 else 2900 continue; 2901 else 2902 continue; 2903 else 2904 continue; 2905 else 2906 continue; 2907 else 2908 continue; 2909 else 2910 continue; 2911 else 2912 continue; 2913 else if(p[pixel[9]] < c_b) 2914 if(p[pixel[6]] < c_b) 2915 if(p[pixel[7]] < c_b) 2916 if(p[pixel[8]] < c_b) 2917 if(p[pixel[10]] < c_b) 2918 if(p[pixel[11]] < c_b) 2919 if(p[pixel[12]] < c_b) 2920 if(p[pixel[13]] < c_b) 2921 if(p[pixel[5]] < c_b) 2922 if(p[pixel[4]] < c_b) 2923 {} 2924 else 2925 if(p[pixel[14]] < c_b) 2926 {} 2927 else 2928 continue; 2929 else 2930 if(p[pixel[14]] < c_b) 2931 if(p[pixel[15]] < c_b) 2932 {} 2933 else 2934 continue; 2935 else 2936 continue; 2937 else 2938 continue; 2939 else 2940 continue; 2941 else 2942 continue; 2943 else 2944 continue; 2945 else 2946 continue; 2947 else 2948 continue; 2949 else 2950 continue; 2951 else 2952 continue; 2953 else if(p[pixel[2]] < c_b) 2954 if(p[pixel[8]] > cb) 2955 if(p[pixel[9]] > cb) 2956 if(p[pixel[10]] > cb) 2957 if(p[pixel[11]] > cb) 2958 if(p[pixel[12]] > cb) 2959 if(p[pixel[13]] > cb) 2960 if(p[pixel[14]] > cb) 2961 if(p[pixel[15]] > cb) 2962 {} 2963 else 2964 if(p[pixel[5]] > cb) 2965 if(p[pixel[6]] > cb) 2966 if(p[pixel[7]] > cb) 2967 {} 2968 else 2969 continue; 2970 else 2971 continue; 2972 else 2973 continue; 2974 else 2975 if(p[pixel[4]] > cb) 2976 if(p[pixel[5]] > cb) 2977 if(p[pixel[6]] > cb) 2978 if(p[pixel[7]] > cb) 2979 {} 2980 else 2981 continue; 2982 else 2983 continue; 2984 else 2985 continue; 2986 else 2987 continue; 2988 else 2989 if(p[pixel[3]] > cb) 2990 if(p[pixel[4]] > cb) 2991 if(p[pixel[5]] > cb) 2992 if(p[pixel[6]] > cb) 2993 if(p[pixel[7]] > cb) 2994 {} 2995 else 2996 continue; 2997 else 2998 continue; 2999 else 3000 continue; 3001 else 3002 continue; 3003 else 3004 continue; 3005 else 3006 continue; 3007 else 3008 continue; 3009 else 3010 continue; 3011 else 3012 continue; 3013 else if(p[pixel[8]] < c_b) 3014 if(p[pixel[6]] < c_b) 3015 if(p[pixel[7]] < c_b) 3016 if(p[pixel[9]] < c_b) 3017 if(p[pixel[10]] < c_b) 3018 if(p[pixel[11]] < c_b) 3019 if(p[pixel[5]] < c_b) 3020 if(p[pixel[4]] < c_b) 3021 if(p[pixel[3]] < c_b) 3022 {} 3023 else 3024 if(p[pixel[12]] < c_b) 3025 if(p[pixel[13]] < c_b) 3026 {} 3027 else 3028 continue; 3029 else 3030 continue; 3031 else 3032 if(p[pixel[12]] < c_b) 3033 if(p[pixel[13]] < c_b) 3034 if(p[pixel[14]] < c_b) 3035 {} 3036 else 3037 continue; 3038 else 3039 continue; 3040 else 3041 continue; 3042 else 3043 if(p[pixel[12]] < c_b) 3044 if(p[pixel[13]] < c_b) 3045 if(p[pixel[14]] < c_b) 3046 if(p[pixel[15]] < c_b) 3047 {} 3048 else 3049 continue; 3050 else 3051 continue; 3052 else 3053 continue; 3054 else 3055 continue; 3056 else 3057 continue; 3058 else 3059 continue; 3060 else 3061 continue; 3062 else 3063 continue; 3064 else 3065 continue; 3066 else 3067 continue; 3068 else 3069 if(p[pixel[8]] > cb) 3070 if(p[pixel[9]] > cb) 3071 if(p[pixel[10]] > cb) 3072 if(p[pixel[11]] > cb) 3073 if(p[pixel[12]] > cb) 3074 if(p[pixel[13]] > cb) 3075 if(p[pixel[14]] > cb) 3076 if(p[pixel[15]] > cb) 3077 {} 3078 else 3079 if(p[pixel[5]] > cb) 3080 if(p[pixel[6]] > cb) 3081 if(p[pixel[7]] > cb) 3082 {} 3083 else 3084 continue; 3085 else 3086 continue; 3087 else 3088 continue; 3089 else 3090 if(p[pixel[4]] > cb) 3091 if(p[pixel[5]] > cb) 3092 if(p[pixel[6]] > cb) 3093 if(p[pixel[7]] > cb) 3094 {} 3095 else 3096 continue; 3097 else 3098 continue; 3099 else 3100 continue; 3101 else 3102 continue; 3103 else 3104 if(p[pixel[3]] > cb) 3105 if(p[pixel[4]] > cb) 3106 if(p[pixel[5]] > cb) 3107 if(p[pixel[6]] > cb) 3108 if(p[pixel[7]] > cb) 3109 {} 3110 else 3111 continue; 3112 else 3113 continue; 3114 else 3115 continue; 3116 else 3117 continue; 3118 else 3119 continue; 3120 else 3121 continue; 3122 else 3123 continue; 3124 else 3125 continue; 3126 else 3127 continue; 3128 else if(p[pixel[8]] < c_b) 3129 if(p[pixel[6]] < c_b) 3130 if(p[pixel[7]] < c_b) 3131 if(p[pixel[9]] < c_b) 3132 if(p[pixel[10]] < c_b) 3133 if(p[pixel[11]] < c_b) 3134 if(p[pixel[12]] < c_b) 3135 if(p[pixel[5]] < c_b) 3136 if(p[pixel[4]] < c_b) 3137 if(p[pixel[3]] < c_b) 3138 {} 3139 else 3140 if(p[pixel[13]] < c_b) 3141 {} 3142 else 3143 continue; 3144 else 3145 if(p[pixel[13]] < c_b) 3146 if(p[pixel[14]] < c_b) 3147 {} 3148 else 3149 continue; 3150 else 3151 continue; 3152 else 3153 if(p[pixel[13]] < c_b) 3154 if(p[pixel[14]] < c_b) 3155 if(p[pixel[15]] < c_b) 3156 {} 3157 else 3158 continue; 3159 else 3160 continue; 3161 else 3162 continue; 3163 else 3164 continue; 3165 else 3166 continue; 3167 else 3168 continue; 3169 else 3170 continue; 3171 else 3172 continue; 3173 else 3174 continue; 3175 else 3176 continue; 3177 else if(p[pixel[1]] < c_b) 3178 if(p[pixel[7]] > cb) 3179 if(p[pixel[8]] > cb) 3180 if(p[pixel[9]] > cb) 3181 if(p[pixel[10]] > cb) 3182 if(p[pixel[11]] > cb) 3183 if(p[pixel[12]] > cb) 3184 if(p[pixel[13]] > cb) 3185 if(p[pixel[14]] > cb) 3186 if(p[pixel[15]] > cb) 3187 {} 3188 else 3189 if(p[pixel[5]] > cb) 3190 if(p[pixel[6]] > cb) 3191 {} 3192 else 3193 continue; 3194 else 3195 continue; 3196 else 3197 if(p[pixel[4]] > cb) 3198 if(p[pixel[5]] > cb) 3199 if(p[pixel[6]] > cb) 3200 {} 3201 else 3202 continue; 3203 else 3204 continue; 3205 else 3206 continue; 3207 else 3208 if(p[pixel[3]] > cb) 3209 if(p[pixel[4]] > cb) 3210 if(p[pixel[5]] > cb) 3211 if(p[pixel[6]] > cb) 3212 {} 3213 else 3214 continue; 3215 else 3216 continue; 3217 else 3218 continue; 3219 else 3220 continue; 3221 else 3222 if(p[pixel[2]] > cb) 3223 if(p[pixel[3]] > cb) 3224 if(p[pixel[4]] > cb) 3225 if(p[pixel[5]] > cb) 3226 if(p[pixel[6]] > cb) 3227 {} 3228 else 3229 continue; 3230 else 3231 continue; 3232 else 3233 continue; 3234 else 3235 continue; 3236 else 3237 continue; 3238 else 3239 continue; 3240 else 3241 continue; 3242 else 3243 continue; 3244 else 3245 continue; 3246 else if(p[pixel[7]] < c_b) 3247 if(p[pixel[6]] < c_b) 3248 if(p[pixel[8]] < c_b) 3249 if(p[pixel[9]] < c_b) 3250 if(p[pixel[10]] < c_b) 3251 if(p[pixel[5]] < c_b) 3252 if(p[pixel[4]] < c_b) 3253 if(p[pixel[3]] < c_b) 3254 if(p[pixel[2]] < c_b) 3255 {} 3256 else 3257 if(p[pixel[11]] < c_b) 3258 if(p[pixel[12]] < c_b) 3259 {} 3260 else 3261 continue; 3262 else 3263 continue; 3264 else 3265 if(p[pixel[11]] < c_b) 3266 if(p[pixel[12]] < c_b) 3267 if(p[pixel[13]] < c_b) 3268 {} 3269 else 3270 continue; 3271 else 3272 continue; 3273 else 3274 continue; 3275 else 3276 if(p[pixel[11]] < c_b) 3277 if(p[pixel[12]] < c_b) 3278 if(p[pixel[13]] < c_b) 3279 if(p[pixel[14]] < c_b) 3280 {} 3281 else 3282 continue; 3283 else 3284 continue; 3285 else 3286 continue; 3287 else 3288 continue; 3289 else 3290 if(p[pixel[11]] < c_b) 3291 if(p[pixel[12]] < c_b) 3292 if(p[pixel[13]] < c_b) 3293 if(p[pixel[14]] < c_b) 3294 if(p[pixel[15]] < c_b) 3295 {} 3296 else 3297 continue; 3298 else 3299 continue; 3300 else 3301 continue; 3302 else 3303 continue; 3304 else 3305 continue; 3306 else 3307 continue; 3308 else 3309 continue; 3310 else 3311 continue; 3312 else 3313 continue; 3314 else 3315 continue; 3316 else 3317 if(p[pixel[7]] > cb) 3318 if(p[pixel[8]] > cb) 3319 if(p[pixel[9]] > cb) 3320 if(p[pixel[10]] > cb) 3321 if(p[pixel[11]] > cb) 3322 if(p[pixel[12]] > cb) 3323 if(p[pixel[13]] > cb) 3324 if(p[pixel[14]] > cb) 3325 if(p[pixel[15]] > cb) 3326 {} 3327 else 3328 if(p[pixel[5]] > cb) 3329 if(p[pixel[6]] > cb) 3330 {} 3331 else 3332 continue; 3333 else 3334 continue; 3335 else 3336 if(p[pixel[4]] > cb) 3337 if(p[pixel[5]] > cb) 3338 if(p[pixel[6]] > cb) 3339 {} 3340 else 3341 continue; 3342 else 3343 continue; 3344 else 3345 continue; 3346 else 3347 if(p[pixel[3]] > cb) 3348 if(p[pixel[4]] > cb) 3349 if(p[pixel[5]] > cb) 3350 if(p[pixel[6]] > cb) 3351 {} 3352 else 3353 continue; 3354 else 3355 continue; 3356 else 3357 continue; 3358 else 3359 continue; 3360 else 3361 if(p[pixel[2]] > cb) 3362 if(p[pixel[3]] > cb) 3363 if(p[pixel[4]] > cb) 3364 if(p[pixel[5]] > cb) 3365 if(p[pixel[6]] > cb) 3366 {} 3367 else 3368 continue; 3369 else 3370 continue; 3371 else 3372 continue; 3373 else 3374 continue; 3375 else 3376 continue; 3377 else 3378 continue; 3379 else 3380 continue; 3381 else 3382 continue; 3383 else 3384 continue; 3385 else if(p[pixel[7]] < c_b) 3386 if(p[pixel[6]] < c_b) 3387 if(p[pixel[8]] < c_b) 3388 if(p[pixel[9]] < c_b) 3389 if(p[pixel[10]] < c_b) 3390 if(p[pixel[11]] < c_b) 3391 if(p[pixel[5]] < c_b) 3392 if(p[pixel[4]] < c_b) 3393 if(p[pixel[3]] < c_b) 3394 if(p[pixel[2]] < c_b) 3395 {} 3396 else 3397 if(p[pixel[12]] < c_b) 3398 {} 3399 else 3400 continue; 3401 else 3402 if(p[pixel[12]] < c_b) 3403 if(p[pixel[13]] < c_b) 3404 {} 3405 else 3406 continue; 3407 else 3408 continue; 3409 else 3410 if(p[pixel[12]] < c_b) 3411 if(p[pixel[13]] < c_b) 3412 if(p[pixel[14]] < c_b) 3413 {} 3414 else 3415 continue; 3416 else 3417 continue; 3418 else 3419 continue; 3420 else 3421 if(p[pixel[12]] < c_b) 3422 if(p[pixel[13]] < c_b) 3423 if(p[pixel[14]] < c_b) 3424 if(p[pixel[15]] < c_b) 3425 {} 3426 else 3427 continue; 3428 else 3429 continue; 3430 else 3431 continue; 3432 else 3433 continue; 3434 else 3435 continue; 3436 else 3437 continue; 3438 else 3439 continue; 3440 else 3441 continue; 3442 else 3443 continue; 3444 else 3445 continue; 3446 else if(p[pixel[0]] < c_b) 3447 if(p[pixel[1]] > cb) 3448 if(p[pixel[7]] > cb) 3449 if(p[pixel[6]] > cb) 3450 if(p[pixel[8]] > cb) 3451 if(p[pixel[9]] > cb) 3452 if(p[pixel[10]] > cb) 3453 if(p[pixel[5]] > cb) 3454 if(p[pixel[4]] > cb) 3455 if(p[pixel[3]] > cb) 3456 if(p[pixel[2]] > cb) 3457 {} 3458 else 3459 if(p[pixel[11]] > cb) 3460 if(p[pixel[12]] > cb) 3461 {} 3462 else 3463 continue; 3464 else 3465 continue; 3466 else 3467 if(p[pixel[11]] > cb) 3468 if(p[pixel[12]] > cb) 3469 if(p[pixel[13]] > cb) 3470 {} 3471 else 3472 continue; 3473 else 3474 continue; 3475 else 3476 continue; 3477 else 3478 if(p[pixel[11]] > cb) 3479 if(p[pixel[12]] > cb) 3480 if(p[pixel[13]] > cb) 3481 if(p[pixel[14]] > cb) 3482 {} 3483 else 3484 continue; 3485 else 3486 continue; 3487 else 3488 continue; 3489 else 3490 continue; 3491 else 3492 if(p[pixel[11]] > cb) 3493 if(p[pixel[12]] > cb) 3494 if(p[pixel[13]] > cb) 3495 if(p[pixel[14]] > cb) 3496 if(p[pixel[15]] > cb) 3497 {} 3498 else 3499 continue; 3500 else 3501 continue; 3502 else 3503 continue; 3504 else 3505 continue; 3506 else 3507 continue; 3508 else 3509 continue; 3510 else 3511 continue; 3512 else 3513 continue; 3514 else 3515 continue; 3516 else if(p[pixel[7]] < c_b) 3517 if(p[pixel[8]] < c_b) 3518 if(p[pixel[9]] < c_b) 3519 if(p[pixel[10]] < c_b) 3520 if(p[pixel[11]] < c_b) 3521 if(p[pixel[12]] < c_b) 3522 if(p[pixel[13]] < c_b) 3523 if(p[pixel[14]] < c_b) 3524 if(p[pixel[15]] < c_b) 3525 {} 3526 else 3527 if(p[pixel[5]] < c_b) 3528 if(p[pixel[6]] < c_b) 3529 {} 3530 else 3531 continue; 3532 else 3533 continue; 3534 else 3535 if(p[pixel[4]] < c_b) 3536 if(p[pixel[5]] < c_b) 3537 if(p[pixel[6]] < c_b) 3538 {} 3539 else 3540 continue; 3541 else 3542 continue; 3543 else 3544 continue; 3545 else 3546 if(p[pixel[3]] < c_b) 3547 if(p[pixel[4]] < c_b) 3548 if(p[pixel[5]] < c_b) 3549 if(p[pixel[6]] < c_b) 3550 {} 3551 else 3552 continue; 3553 else 3554 continue; 3555 else 3556 continue; 3557 else 3558 continue; 3559 else 3560 if(p[pixel[2]] < c_b) 3561 if(p[pixel[3]] < c_b) 3562 if(p[pixel[4]] < c_b) 3563 if(p[pixel[5]] < c_b) 3564 if(p[pixel[6]] < c_b) 3565 {} 3566 else 3567 continue; 3568 else 3569 continue; 3570 else 3571 continue; 3572 else 3573 continue; 3574 else 3575 continue; 3576 else 3577 continue; 3578 else 3579 continue; 3580 else 3581 continue; 3582 else 3583 continue; 3584 else 3585 continue; 3586 else if(p[pixel[1]] < c_b) 3587 if(p[pixel[2]] > cb) 3588 if(p[pixel[8]] > cb) 3589 if(p[pixel[6]] > cb) 3590 if(p[pixel[7]] > cb) 3591 if(p[pixel[9]] > cb) 3592 if(p[pixel[10]] > cb) 3593 if(p[pixel[11]] > cb) 3594 if(p[pixel[5]] > cb) 3595 if(p[pixel[4]] > cb) 3596 if(p[pixel[3]] > cb) 3597 {} 3598 else 3599 if(p[pixel[12]] > cb) 3600 if(p[pixel[13]] > cb) 3601 {} 3602 else 3603 continue; 3604 else 3605 continue; 3606 else 3607 if(p[pixel[12]] > cb) 3608 if(p[pixel[13]] > cb) 3609 if(p[pixel[14]] > cb) 3610 {} 3611 else 3612 continue; 3613 else 3614 continue; 3615 else 3616 continue; 3617 else 3618 if(p[pixel[12]] > cb) 3619 if(p[pixel[13]] > cb) 3620 if(p[pixel[14]] > cb) 3621 if(p[pixel[15]] > cb) 3622 {} 3623 else 3624 continue; 3625 else 3626 continue; 3627 else 3628 continue; 3629 else 3630 continue; 3631 else 3632 continue; 3633 else 3634 continue; 3635 else 3636 continue; 3637 else 3638 continue; 3639 else 3640 continue; 3641 else if(p[pixel[8]] < c_b) 3642 if(p[pixel[9]] < c_b) 3643 if(p[pixel[10]] < c_b) 3644 if(p[pixel[11]] < c_b) 3645 if(p[pixel[12]] < c_b) 3646 if(p[pixel[13]] < c_b) 3647 if(p[pixel[14]] < c_b) 3648 if(p[pixel[15]] < c_b) 3649 {} 3650 else 3651 if(p[pixel[5]] < c_b) 3652 if(p[pixel[6]] < c_b) 3653 if(p[pixel[7]] < c_b) 3654 {} 3655 else 3656 continue; 3657 else 3658 continue; 3659 else 3660 continue; 3661 else 3662 if(p[pixel[4]] < c_b) 3663 if(p[pixel[5]] < c_b) 3664 if(p[pixel[6]] < c_b) 3665 if(p[pixel[7]] < c_b) 3666 {} 3667 else 3668 continue; 3669 else 3670 continue; 3671 else 3672 continue; 3673 else 3674 continue; 3675 else 3676 if(p[pixel[3]] < c_b) 3677 if(p[pixel[4]] < c_b) 3678 if(p[pixel[5]] < c_b) 3679 if(p[pixel[6]] < c_b) 3680 if(p[pixel[7]] < c_b) 3681 {} 3682 else 3683 continue; 3684 else 3685 continue; 3686 else 3687 continue; 3688 else 3689 continue; 3690 else 3691 continue; 3692 else 3693 continue; 3694 else 3695 continue; 3696 else 3697 continue; 3698 else 3699 continue; 3700 else 3701 continue; 3702 else if(p[pixel[2]] < c_b) 3703 if(p[pixel[3]] > cb) 3704 if(p[pixel[9]] > cb) 3705 if(p[pixel[6]] > cb) 3706 if(p[pixel[7]] > cb) 3707 if(p[pixel[8]] > cb) 3708 if(p[pixel[10]] > cb) 3709 if(p[pixel[11]] > cb) 3710 if(p[pixel[12]] > cb) 3711 if(p[pixel[5]] > cb) 3712 if(p[pixel[4]] > cb) 3713 {} 3714 else 3715 if(p[pixel[13]] > cb) 3716 if(p[pixel[14]] > cb) 3717 {} 3718 else 3719 continue; 3720 else 3721 continue; 3722 else 3723 if(p[pixel[13]] > cb) 3724 if(p[pixel[14]] > cb) 3725 if(p[pixel[15]] > cb) 3726 {} 3727 else 3728 continue; 3729 else 3730 continue; 3731 else 3732 continue; 3733 else 3734 continue; 3735 else 3736 continue; 3737 else 3738 continue; 3739 else 3740 continue; 3741 else 3742 continue; 3743 else 3744 continue; 3745 else if(p[pixel[9]] < c_b) 3746 if(p[pixel[10]] < c_b) 3747 if(p[pixel[11]] < c_b) 3748 if(p[pixel[12]] < c_b) 3749 if(p[pixel[13]] < c_b) 3750 if(p[pixel[14]] < c_b) 3751 if(p[pixel[15]] < c_b) 3752 {} 3753 else 3754 if(p[pixel[5]] < c_b) 3755 if(p[pixel[6]] < c_b) 3756 if(p[pixel[7]] < c_b) 3757 if(p[pixel[8]] < c_b) 3758 {} 3759 else 3760 continue; 3761 else 3762 continue; 3763 else 3764 continue; 3765 else 3766 continue; 3767 else 3768 if(p[pixel[4]] < c_b) 3769 if(p[pixel[5]] < c_b) 3770 if(p[pixel[6]] < c_b) 3771 if(p[pixel[7]] < c_b) 3772 if(p[pixel[8]] < c_b) 3773 {} 3774 else 3775 continue; 3776 else 3777 continue; 3778 else 3779 continue; 3780 else 3781 continue; 3782 else 3783 continue; 3784 else 3785 continue; 3786 else 3787 continue; 3788 else 3789 continue; 3790 else 3791 continue; 3792 else 3793 continue; 3794 else if(p[pixel[3]] < c_b) 3795 if(p[pixel[4]] > cb) 3796 if(p[pixel[14]] > cb) 3797 if(p[pixel[6]] > cb) 3798 if(p[pixel[7]] > cb) 3799 if(p[pixel[8]] > cb) 3800 if(p[pixel[9]] > cb) 3801 if(p[pixel[10]] > cb) 3802 if(p[pixel[11]] > cb) 3803 if(p[pixel[12]] > cb) 3804 if(p[pixel[13]] > cb) 3805 if(p[pixel[5]] > cb) 3806 {} 3807 else 3808 if(p[pixel[15]] > cb) 3809 {} 3810 else 3811 continue; 3812 else 3813 continue; 3814 else 3815 continue; 3816 else 3817 continue; 3818 else 3819 continue; 3820 else 3821 continue; 3822 else 3823 continue; 3824 else 3825 continue; 3826 else 3827 continue; 3828 else if(p[pixel[14]] < c_b) 3829 if(p[pixel[10]] > cb) 3830 if(p[pixel[5]] > cb) 3831 if(p[pixel[6]] > cb) 3832 if(p[pixel[7]] > cb) 3833 if(p[pixel[8]] > cb) 3834 if(p[pixel[9]] > cb) 3835 if(p[pixel[11]] > cb) 3836 if(p[pixel[12]] > cb) 3837 if(p[pixel[13]] > cb) 3838 {} 3839 else 3840 continue; 3841 else 3842 continue; 3843 else 3844 continue; 3845 else 3846 continue; 3847 else 3848 continue; 3849 else 3850 continue; 3851 else 3852 continue; 3853 else 3854 continue; 3855 else if(p[pixel[10]] < c_b) 3856 if(p[pixel[11]] < c_b) 3857 if(p[pixel[12]] < c_b) 3858 if(p[pixel[13]] < c_b) 3859 if(p[pixel[15]] < c_b) 3860 {} 3861 else 3862 if(p[pixel[5]] < c_b) 3863 if(p[pixel[6]] < c_b) 3864 if(p[pixel[7]] < c_b) 3865 if(p[pixel[8]] < c_b) 3866 if(p[pixel[9]] < c_b) 3867 {} 3868 else 3869 continue; 3870 else 3871 continue; 3872 else 3873 continue; 3874 else 3875 continue; 3876 else 3877 continue; 3878 else 3879 continue; 3880 else 3881 continue; 3882 else 3883 continue; 3884 else 3885 continue; 3886 else 3887 if(p[pixel[5]] > cb) 3888 if(p[pixel[6]] > cb) 3889 if(p[pixel[7]] > cb) 3890 if(p[pixel[8]] > cb) 3891 if(p[pixel[9]] > cb) 3892 if(p[pixel[10]] > cb) 3893 if(p[pixel[11]] > cb) 3894 if(p[pixel[12]] > cb) 3895 if(p[pixel[13]] > cb) 3896 {} 3897 else 3898 continue; 3899 else 3900 continue; 3901 else 3902 continue; 3903 else 3904 continue; 3905 else 3906 continue; 3907 else 3908 continue; 3909 else 3910 continue; 3911 else 3912 continue; 3913 else 3914 continue; 3915 else if(p[pixel[4]] < c_b) 3916 if(p[pixel[5]] > cb) 3917 if(p[pixel[15]] < c_b) 3918 if(p[pixel[11]] > cb) 3919 if(p[pixel[6]] > cb) 3920 if(p[pixel[7]] > cb) 3921 if(p[pixel[8]] > cb) 3922 if(p[pixel[9]] > cb) 3923 if(p[pixel[10]] > cb) 3924 if(p[pixel[12]] > cb) 3925 if(p[pixel[13]] > cb) 3926 if(p[pixel[14]] > cb) 3927 {} 3928 else 3929 continue; 3930 else 3931 continue; 3932 else 3933 continue; 3934 else 3935 continue; 3936 else 3937 continue; 3938 else 3939 continue; 3940 else 3941 continue; 3942 else 3943 continue; 3944 else if(p[pixel[11]] < c_b) 3945 if(p[pixel[12]] < c_b) 3946 if(p[pixel[13]] < c_b) 3947 if(p[pixel[14]] < c_b) 3948 {} 3949 else 3950 continue; 3951 else 3952 continue; 3953 else 3954 continue; 3955 else 3956 continue; 3957 else 3958 if(p[pixel[6]] > cb) 3959 if(p[pixel[7]] > cb) 3960 if(p[pixel[8]] > cb) 3961 if(p[pixel[9]] > cb) 3962 if(p[pixel[10]] > cb) 3963 if(p[pixel[11]] > cb) 3964 if(p[pixel[12]] > cb) 3965 if(p[pixel[13]] > cb) 3966 if(p[pixel[14]] > cb) 3967 {} 3968 else 3969 continue; 3970 else 3971 continue; 3972 else 3973 continue; 3974 else 3975 continue; 3976 else 3977 continue; 3978 else 3979 continue; 3980 else 3981 continue; 3982 else 3983 continue; 3984 else 3985 continue; 3986 else if(p[pixel[5]] < c_b) 3987 if(p[pixel[6]] > cb) 3988 if(p[pixel[12]] > cb) 3989 if(p[pixel[7]] > cb) 3990 if(p[pixel[8]] > cb) 3991 if(p[pixel[9]] > cb) 3992 if(p[pixel[10]] > cb) 3993 if(p[pixel[11]] > cb) 3994 if(p[pixel[13]] > cb) 3995 if(p[pixel[14]] > cb) 3996 if(p[pixel[15]] > cb) 3997 {} 3998 else 3999 continue; 4000 else 4001 continue; 4002 else 4003 continue; 4004 else 4005 continue; 4006 else 4007 continue; 4008 else 4009 continue; 4010 else 4011 continue; 4012 else 4013 continue; 4014 else if(p[pixel[12]] < c_b) 4015 if(p[pixel[13]] < c_b) 4016 if(p[pixel[14]] < c_b) 4017 if(p[pixel[15]] < c_b) 4018 {} 4019 else 4020 continue; 4021 else 4022 continue; 4023 else 4024 continue; 4025 else 4026 continue; 4027 else if(p[pixel[6]] < c_b) 4028 if(p[pixel[7]] < c_b) 4029 if(p[pixel[8]] < c_b) 4030 if(p[pixel[9]] < c_b) 4031 {} 4032 else 4033 if(p[pixel[15]] < c_b) 4034 {} 4035 else 4036 continue; 4037 else 4038 if(p[pixel[14]] < c_b) 4039 if(p[pixel[15]] < c_b) 4040 {} 4041 else 4042 continue; 4043 else 4044 continue; 4045 else 4046 if(p[pixel[13]] < c_b) 4047 if(p[pixel[14]] < c_b) 4048 if(p[pixel[15]] < c_b) 4049 {} 4050 else 4051 continue; 4052 else 4053 continue; 4054 else 4055 continue; 4056 else 4057 if(p[pixel[12]] < c_b) 4058 if(p[pixel[13]] < c_b) 4059 if(p[pixel[14]] < c_b) 4060 if(p[pixel[15]] < c_b) 4061 {} 4062 else 4063 continue; 4064 else 4065 continue; 4066 else 4067 continue; 4068 else 4069 continue; 4070 else 4071 if(p[pixel[11]] > cb) 4072 if(p[pixel[6]] > cb) 4073 if(p[pixel[7]] > cb) 4074 if(p[pixel[8]] > cb) 4075 if(p[pixel[9]] > cb) 4076 if(p[pixel[10]] > cb) 4077 if(p[pixel[12]] > cb) 4078 if(p[pixel[13]] > cb) 4079 if(p[pixel[14]] > cb) 4080 if(p[pixel[15]] > cb) 4081 {} 4082 else 4083 continue; 4084 else 4085 continue; 4086 else 4087 continue; 4088 else 4089 continue; 4090 else 4091 continue; 4092 else 4093 continue; 4094 else 4095 continue; 4096 else 4097 continue; 4098 else 4099 continue; 4100 else if(p[pixel[11]] < c_b) 4101 if(p[pixel[12]] < c_b) 4102 if(p[pixel[13]] < c_b) 4103 if(p[pixel[14]] < c_b) 4104 if(p[pixel[15]] < c_b) 4105 {} 4106 else 4107 continue; 4108 else 4109 continue; 4110 else 4111 continue; 4112 else 4113 continue; 4114 else 4115 continue; 4116 else 4117 if(p[pixel[10]] > cb) 4118 if(p[pixel[6]] > cb) 4119 if(p[pixel[7]] > cb) 4120 if(p[pixel[8]] > cb) 4121 if(p[pixel[9]] > cb) 4122 if(p[pixel[11]] > cb) 4123 if(p[pixel[12]] > cb) 4124 if(p[pixel[13]] > cb) 4125 if(p[pixel[14]] > cb) 4126 if(p[pixel[5]] > cb) 4127 {} 4128 else 4129 if(p[pixel[15]] > cb) 4130 {} 4131 else 4132 continue; 4133 else 4134 continue; 4135 else 4136 continue; 4137 else 4138 continue; 4139 else 4140 continue; 4141 else 4142 continue; 4143 else 4144 continue; 4145 else 4146 continue; 4147 else 4148 continue; 4149 else if(p[pixel[10]] < c_b) 4150 if(p[pixel[11]] < c_b) 4151 if(p[pixel[12]] < c_b) 4152 if(p[pixel[13]] < c_b) 4153 if(p[pixel[14]] < c_b) 4154 if(p[pixel[15]] < c_b) 4155 {} 4156 else 4157 if(p[pixel[5]] < c_b) 4158 if(p[pixel[6]] < c_b) 4159 if(p[pixel[7]] < c_b) 4160 if(p[pixel[8]] < c_b) 4161 if(p[pixel[9]] < c_b) 4162 {} 4163 else 4164 continue; 4165 else 4166 continue; 4167 else 4168 continue; 4169 else 4170 continue; 4171 else 4172 continue; 4173 else 4174 continue; 4175 else 4176 continue; 4177 else 4178 continue; 4179 else 4180 continue; 4181 else 4182 continue; 4183 else 4184 if(p[pixel[9]] > cb) 4185 if(p[pixel[6]] > cb) 4186 if(p[pixel[7]] > cb) 4187 if(p[pixel[8]] > cb) 4188 if(p[pixel[10]] > cb) 4189 if(p[pixel[11]] > cb) 4190 if(p[pixel[12]] > cb) 4191 if(p[pixel[13]] > cb) 4192 if(p[pixel[5]] > cb) 4193 if(p[pixel[4]] > cb) 4194 {} 4195 else 4196 if(p[pixel[14]] > cb) 4197 {} 4198 else 4199 continue; 4200 else 4201 if(p[pixel[14]] > cb) 4202 if(p[pixel[15]] > cb) 4203 {} 4204 else 4205 continue; 4206 else 4207 continue; 4208 else 4209 continue; 4210 else 4211 continue; 4212 else 4213 continue; 4214 else 4215 continue; 4216 else 4217 continue; 4218 else 4219 continue; 4220 else 4221 continue; 4222 else if(p[pixel[9]] < c_b) 4223 if(p[pixel[10]] < c_b) 4224 if(p[pixel[11]] < c_b) 4225 if(p[pixel[12]] < c_b) 4226 if(p[pixel[13]] < c_b) 4227 if(p[pixel[14]] < c_b) 4228 if(p[pixel[15]] < c_b) 4229 {} 4230 else 4231 if(p[pixel[5]] < c_b) 4232 if(p[pixel[6]] < c_b) 4233 if(p[pixel[7]] < c_b) 4234 if(p[pixel[8]] < c_b) 4235 {} 4236 else 4237 continue; 4238 else 4239 continue; 4240 else 4241 continue; 4242 else 4243 continue; 4244 else 4245 if(p[pixel[4]] < c_b) 4246 if(p[pixel[5]] < c_b) 4247 if(p[pixel[6]] < c_b) 4248 if(p[pixel[7]] < c_b) 4249 if(p[pixel[8]] < c_b) 4250 {} 4251 else 4252 continue; 4253 else 4254 continue; 4255 else 4256 continue; 4257 else 4258 continue; 4259 else 4260 continue; 4261 else 4262 continue; 4263 else 4264 continue; 4265 else 4266 continue; 4267 else 4268 continue; 4269 else 4270 continue; 4271 else 4272 if(p[pixel[8]] > cb) 4273 if(p[pixel[6]] > cb) 4274 if(p[pixel[7]] > cb) 4275 if(p[pixel[9]] > cb) 4276 if(p[pixel[10]] > cb) 4277 if(p[pixel[11]] > cb) 4278 if(p[pixel[12]] > cb) 4279 if(p[pixel[5]] > cb) 4280 if(p[pixel[4]] > cb) 4281 if(p[pixel[3]] > cb) 4282 {} 4283 else 4284 if(p[pixel[13]] > cb) 4285 {} 4286 else 4287 continue; 4288 else 4289 if(p[pixel[13]] > cb) 4290 if(p[pixel[14]] > cb) 4291 {} 4292 else 4293 continue; 4294 else 4295 continue; 4296 else 4297 if(p[pixel[13]] > cb) 4298 if(p[pixel[14]] > cb) 4299 if(p[pixel[15]] > cb) 4300 {} 4301 else 4302 continue; 4303 else 4304 continue; 4305 else 4306 continue; 4307 else 4308 continue; 4309 else 4310 continue; 4311 else 4312 continue; 4313 else 4314 continue; 4315 else 4316 continue; 4317 else 4318 continue; 4319 else if(p[pixel[8]] < c_b) 4320 if(p[pixel[9]] < c_b) 4321 if(p[pixel[10]] < c_b) 4322 if(p[pixel[11]] < c_b) 4323 if(p[pixel[12]] < c_b) 4324 if(p[pixel[13]] < c_b) 4325 if(p[pixel[14]] < c_b) 4326 if(p[pixel[15]] < c_b) 4327 {} 4328 else 4329 if(p[pixel[5]] < c_b) 4330 if(p[pixel[6]] < c_b) 4331 if(p[pixel[7]] < c_b) 4332 {} 4333 else 4334 continue; 4335 else 4336 continue; 4337 else 4338 continue; 4339 else 4340 if(p[pixel[4]] < c_b) 4341 if(p[pixel[5]] < c_b) 4342 if(p[pixel[6]] < c_b) 4343 if(p[pixel[7]] < c_b) 4344 {} 4345 else 4346 continue; 4347 else 4348 continue; 4349 else 4350 continue; 4351 else 4352 continue; 4353 else 4354 if(p[pixel[3]] < c_b) 4355 if(p[pixel[4]] < c_b) 4356 if(p[pixel[5]] < c_b) 4357 if(p[pixel[6]] < c_b) 4358 if(p[pixel[7]] < c_b) 4359 {} 4360 else 4361 continue; 4362 else 4363 continue; 4364 else 4365 continue; 4366 else 4367 continue; 4368 else 4369 continue; 4370 else 4371 continue; 4372 else 4373 continue; 4374 else 4375 continue; 4376 else 4377 continue; 4378 else 4379 continue; 4380 else 4381 if(p[pixel[7]] > cb) 4382 if(p[pixel[6]] > cb) 4383 if(p[pixel[8]] > cb) 4384 if(p[pixel[9]] > cb) 4385 if(p[pixel[10]] > cb) 4386 if(p[pixel[11]] > cb) 4387 if(p[pixel[5]] > cb) 4388 if(p[pixel[4]] > cb) 4389 if(p[pixel[3]] > cb) 4390 if(p[pixel[2]] > cb) 4391 {} 4392 else 4393 if(p[pixel[12]] > cb) 4394 {} 4395 else 4396 continue; 4397 else 4398 if(p[pixel[12]] > cb) 4399 if(p[pixel[13]] > cb) 4400 {} 4401 else 4402 continue; 4403 else 4404 continue; 4405 else 4406 if(p[pixel[12]] > cb) 4407 if(p[pixel[13]] > cb) 4408 if(p[pixel[14]] > cb) 4409 {} 4410 else 4411 continue; 4412 else 4413 continue; 4414 else 4415 continue; 4416 else 4417 if(p[pixel[12]] > cb) 4418 if(p[pixel[13]] > cb) 4419 if(p[pixel[14]] > cb) 4420 if(p[pixel[15]] > cb) 4421 {} 4422 else 4423 continue; 4424 else 4425 continue; 4426 else 4427 continue; 4428 else 4429 continue; 4430 else 4431 continue; 4432 else 4433 continue; 4434 else 4435 continue; 4436 else 4437 continue; 4438 else 4439 continue; 4440 else if(p[pixel[7]] < c_b) 4441 if(p[pixel[8]] < c_b) 4442 if(p[pixel[9]] < c_b) 4443 if(p[pixel[10]] < c_b) 4444 if(p[pixel[11]] < c_b) 4445 if(p[pixel[12]] < c_b) 4446 if(p[pixel[13]] < c_b) 4447 if(p[pixel[14]] < c_b) 4448 if(p[pixel[15]] < c_b) 4449 {} 4450 else 4451 if(p[pixel[5]] < c_b) 4452 if(p[pixel[6]] < c_b) 4453 {} 4454 else 4455 continue; 4456 else 4457 continue; 4458 else 4459 if(p[pixel[4]] < c_b) 4460 if(p[pixel[5]] < c_b) 4461 if(p[pixel[6]] < c_b) 4462 {} 4463 else 4464 continue; 4465 else 4466 continue; 4467 else 4468 continue; 4469 else 4470 if(p[pixel[3]] < c_b) 4471 if(p[pixel[4]] < c_b) 4472 if(p[pixel[5]] < c_b) 4473 if(p[pixel[6]] < c_b) 4474 {} 4475 else 4476 continue; 4477 else 4478 continue; 4479 else 4480 continue; 4481 else 4482 continue; 4483 else 4484 if(p[pixel[2]] < c_b) 4485 if(p[pixel[3]] < c_b) 4486 if(p[pixel[4]] < c_b) 4487 if(p[pixel[5]] < c_b) 4488 if(p[pixel[6]] < c_b) 4489 {} 4490 else 4491 continue; 4492 else 4493 continue; 4494 else 4495 continue; 4496 else 4497 continue; 4498 else 4499 continue; 4500 else 4501 continue; 4502 else 4503 continue; 4504 else 4505 continue; 4506 else 4507 continue; 4508 else 4509 continue; 4510 else 4511 if(p[pixel[6]] > cb) 4512 if(p[pixel[7]] > cb) 4513 if(p[pixel[8]] > cb) 4514 if(p[pixel[9]] > cb) 4515 if(p[pixel[10]] > cb) 4516 if(p[pixel[5]] > cb) 4517 if(p[pixel[4]] > cb) 4518 if(p[pixel[3]] > cb) 4519 if(p[pixel[2]] > cb) 4520 if(p[pixel[1]] > cb) 4521 {} 4522 else 4523 if(p[pixel[11]] > cb) 4524 {} 4525 else 4526 continue; 4527 else 4528 if(p[pixel[11]] > cb) 4529 if(p[pixel[12]] > cb) 4530 {} 4531 else 4532 continue; 4533 else 4534 continue; 4535 else 4536 if(p[pixel[11]] > cb) 4537 if(p[pixel[12]] > cb) 4538 if(p[pixel[13]] > cb) 4539 {} 4540 else 4541 continue; 4542 else 4543 continue; 4544 else 4545 continue; 4546 else 4547 if(p[pixel[11]] > cb) 4548 if(p[pixel[12]] > cb) 4549 if(p[pixel[13]] > cb) 4550 if(p[pixel[14]] > cb) 4551 {} 4552 else 4553 continue; 4554 else 4555 continue; 4556 else 4557 continue; 4558 else 4559 continue; 4560 else 4561 if(p[pixel[11]] > cb) 4562 if(p[pixel[12]] > cb) 4563 if(p[pixel[13]] > cb) 4564 if(p[pixel[14]] > cb) 4565 if(p[pixel[15]] > cb) 4566 {} 4567 else 4568 continue; 4569 else 4570 continue; 4571 else 4572 continue; 4573 else 4574 continue; 4575 else 4576 continue; 4577 else 4578 continue; 4579 else 4580 continue; 4581 else 4582 continue; 4583 else 4584 continue; 4585 else if(p[pixel[6]] < c_b) 4586 if(p[pixel[7]] < c_b) 4587 if(p[pixel[8]] < c_b) 4588 if(p[pixel[9]] < c_b) 4589 if(p[pixel[10]] < c_b) 4590 if(p[pixel[5]] < c_b) 4591 if(p[pixel[4]] < c_b) 4592 if(p[pixel[3]] < c_b) 4593 if(p[pixel[2]] < c_b) 4594 if(p[pixel[1]] < c_b) 4595 {} 4596 else 4597 if(p[pixel[11]] < c_b) 4598 {} 4599 else 4600 continue; 4601 else 4602 if(p[pixel[11]] < c_b) 4603 if(p[pixel[12]] < c_b) 4604 {} 4605 else 4606 continue; 4607 else 4608 continue; 4609 else 4610 if(p[pixel[11]] < c_b) 4611 if(p[pixel[12]] < c_b) 4612 if(p[pixel[13]] < c_b) 4613 {} 4614 else 4615 continue; 4616 else 4617 continue; 4618 else 4619 continue; 4620 else 4621 if(p[pixel[11]] < c_b) 4622 if(p[pixel[12]] < c_b) 4623 if(p[pixel[13]] < c_b) 4624 if(p[pixel[14]] < c_b) 4625 {} 4626 else 4627 continue; 4628 else 4629 continue; 4630 else 4631 continue; 4632 else 4633 continue; 4634 else 4635 if(p[pixel[11]] < c_b) 4636 if(p[pixel[12]] < c_b) 4637 if(p[pixel[13]] < c_b) 4638 if(p[pixel[14]] < c_b) 4639 if(p[pixel[15]] < c_b) 4640 {} 4641 else 4642 continue; 4643 else 4644 continue; 4645 else 4646 continue; 4647 else 4648 continue; 4649 else 4650 continue; 4651 else 4652 continue; 4653 else 4654 continue; 4655 else 4656 continue; 4657 else 4658 continue; 4659 else 4660 continue; 4661 if(num_corners == rsize) 4662 { 4663 rsize*=2; 4664 ret_corners = cast(xy*)realloc(ret_corners, xy.sizeof*rsize); 4665 } 4666 4667 ret_corners[num_corners].x = x; 4668 ret_corners[num_corners].y = y; 4669 num_corners++; 4670 } 4671 4672 *ret_num_corners = num_corners; 4673 return ret_corners; 4674 } 4675