binarize_fuzzer.cc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "leptfuzz.h"
  2. extern "C" int
  3. LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  4. if(size<3) return 0;
  5. leptSetStdNullHandler();
  6. PIX *pixs_payload = pixReadMemSpix(data, size);
  7. if(pixs_payload == NULL) return 0;
  8. PIX *pix1, *pix2, *return_pix, *pix_copy1;
  9. l_int32 l_i;
  10. pix1 = pixRead("../test8.jpg");
  11. pix_copy1 = pixCopy(NULL, pixs_payload);
  12. return_pix = pixMaskedThreshOnBackgroundNorm(pix_copy1, pix1,
  13. 100, 100, 10, 10,
  14. 10, 10, 0.1, &l_i);
  15. pixDestroy(&pix1);
  16. pixDestroy(&pix_copy1);
  17. pixDestroy(&return_pix);
  18. pix1 = pixRead("../test8.jpg");
  19. pix_copy1 = pixCopy(NULL, pixs_payload);
  20. return_pix = pixOtsuThreshOnBackgroundNorm(pix_copy1, pix1,
  21. 100, 100, 10, 10,
  22. 130, 30, 30, 0.1,
  23. &l_i);
  24. pixDestroy(&pix1);
  25. pixDestroy(&pix_copy1);
  26. pixDestroy(&return_pix);
  27. pix_copy1 = pixCopy(NULL, pixs_payload);
  28. pixSauvolaBinarizeTiled(pix_copy1, 8, 0.34, 1, 1, NULL, &pix1);
  29. pixDestroy(&pix1);
  30. pixDestroy(&pix_copy1);
  31. pix1 = pixRead("../test8.jpg");
  32. pix_copy1 = pixCopy(NULL, pixs_payload);
  33. pixThresholdByConnComp(pix_copy1, pix1, 10, 10, 10, 5.5, 5.5,
  34. &l_i, &pix2, 1);
  35. pixDestroy(&pix1);
  36. pixDestroy(&pix2);
  37. pixDestroy(&pix_copy1);
  38. pix_copy1 = pixCopy(NULL, pixs_payload);
  39. NUMA *na1;
  40. l_int32 ival;
  41. pixThresholdByHisto(pix_copy1, 2, 0, 0, &ival, &pix1, &na1, &pix2);
  42. pixDestroy(&pix1);
  43. pixDestroy(&pix2);
  44. pixDestroy(&pix_copy1);
  45. numaDestroy(&na1);
  46. pixDestroy(&pixs_payload);
  47. return 0;
  48. }