95 BLOBNBOX_IT blob_it(&blob_block->
blobs);
96 for (blob_it.mark_cycle_pt(); !blob_it.cycled_list(); blob_it.forward()) {
99 perimeter_area_ratio *= perimeter_area_ratio / blob->
enclosed_area();
103 good_grid.InsertBBox(
true,
true, blob);
105 noise_density_ = ComputeNoiseDensity(debug, photo_map, &good_grid);
109 pixWrite(
"junknoisemask.png", pix, IFF_PNG);
112 #ifndef GRAPHICS_DISABLED 116 #endif // GRAPHICS_DISABLED 119 MarkAndDeleteNonTextBlobs(&blob_block->
large_blobs,
127 MarkAndDeleteNonTextBlobs(&blob_block->
large_blobs,
132 MarkAndDeleteNonTextBlobs(&blob_block->
noise_blobs, -1,
134 MarkAndDeleteNonTextBlobs(&blob_block->
small_blobs, -1,
136 MarkAndDeleteNonTextBlobs(&blob_block->
blobs, -1,
139 #ifndef GRAPHICS_DISABLED 141 #endif // GRAPHICS_DISABLED 142 pixWrite(
"junkccphotomask.png", pix, IFF_PNG);
143 #ifndef GRAPHICS_DISABLED 146 #endif // GRAPHICS_DISABLED const int kMaxLargeOverlapsWithMedium
void InsertBlobList(BLOBNBOX_LIST *blobs)
ScrollView * MakeWindow(int x, int y, const char *window_name)
BlobGrid(int gridsize, const ICOORD &bleft, const ICOORD &tright)
const ICOORD & bleft() const
const int kMaxMediumOverlapsWithSmall
int32_t enclosed_area() const
const double kMinGoodTextPARatio
SVEvent * AwaitEvent(SVEventType type)
const int kMaxLargeOverlapsWithSmall
void InsertBBox(bool h_spread, bool v_spread, BLOBNBOX *bbox)
BLOBNBOX_LIST large_blobs
Pix * ThresholdToPix(int threshold) const
const ICOORD & tright() const
BLOBNBOX_LIST small_blobs
BLOBNBOX_LIST noise_blobs