#include <blobbox.h>
Public Member Functions | |
BLOBNBOX () | |
BLOBNBOX (C_BLOB *srcblob) | |
~BLOBNBOX () | |
void | rotate (FCOORD rotation) |
void | reflect_box_in_y_axis () |
void | rotate_box (FCOORD rotation) |
void | translate_box (ICOORD v) |
void | merge (BLOBNBOX *nextblob) |
void | really_merge (BLOBNBOX *other) |
void | chop (BLOBNBOX_IT *start_it, BLOBNBOX_IT *blob_it, FCOORD rotation, float xheight) |
void | NeighbourGaps (int gaps[BND_COUNT]) const |
void | MinMaxGapsClipped (int *h_min, int *h_max, int *v_min, int *v_max) const |
void | CleanNeighbours () |
int | GoodTextBlob () const |
int | NoisyNeighbours () const |
bool | DeletableNoise () const |
bool | DefiniteIndividualFlow () |
bool | ConfirmNoTabViolation (const BLOBNBOX &other) const |
bool | MatchingStrokeWidth (const BLOBNBOX &other, double fractional_tolerance, double constant_tolerance) const |
TBOX | BoundsWithinLimits (int left, int right) |
void | EstimateBaselinePosition () |
const TBOX & | bounding_box () const |
void | set_bounding_box (const TBOX &new_box) |
void | compute_bounding_box () |
const TBOX & | reduced_box () const |
void | set_reduced_box (TBOX new_box) |
int32_t | enclosed_area () const |
bool | joined_to_prev () const |
bool | red_box_set () const |
int | repeated_set () const |
void | set_repeated_set (int set_id) |
C_BLOB * | cblob () const |
TabType | left_tab_type () const |
void | set_left_tab_type (TabType new_type) |
TabType | right_tab_type () const |
void | set_right_tab_type (TabType new_type) |
BlobRegionType | region_type () const |
void | set_region_type (BlobRegionType new_type) |
BlobSpecialTextType | special_text_type () const |
void | set_special_text_type (BlobSpecialTextType new_type) |
BlobTextFlowType | flow () const |
void | set_flow (BlobTextFlowType value) |
bool | vert_possible () const |
void | set_vert_possible (bool value) |
bool | horz_possible () const |
void | set_horz_possible (bool value) |
int | left_rule () const |
void | set_left_rule (int new_left) |
int | right_rule () const |
void | set_right_rule (int new_right) |
int | left_crossing_rule () const |
void | set_left_crossing_rule (int new_left) |
int | right_crossing_rule () const |
void | set_right_crossing_rule (int new_right) |
float | horz_stroke_width () const |
void | set_horz_stroke_width (float width) |
float | vert_stroke_width () const |
void | set_vert_stroke_width (float width) |
float | area_stroke_width () const |
tesseract::ColPartition * | owner () const |
void | set_owner (tesseract::ColPartition *new_owner) |
bool | leader_on_left () const |
void | set_leader_on_left (bool flag) |
bool | leader_on_right () const |
void | set_leader_on_right (bool flag) |
BLOBNBOX * | neighbour (BlobNeighbourDir n) const |
bool | good_stroke_neighbour (BlobNeighbourDir n) const |
void | set_neighbour (BlobNeighbourDir n, BLOBNBOX *neighbour, bool good) |
bool | IsDiacritic () const |
int | base_char_top () const |
int | base_char_bottom () const |
int | baseline_position () const |
int | line_crossings () const |
void | set_line_crossings (int value) |
void | set_diacritic_box (const TBOX &diacritic_box) |
BLOBNBOX * | base_char_blob () const |
void | set_base_char_blob (BLOBNBOX *blob) |
void | set_owns_cblob (bool value) |
bool | UniquelyVertical () const |
bool | UniquelyHorizontal () const |
ScrollView::Color | BoxColor () const |
void | plot (ScrollView *window, ScrollView::Color blob_colour, ScrollView::Color child_colour) |
void | ConstructionInit () |
void | ReInit () |
void | ClearNeighbours () |
Public Member Functions inherited from ELIST_LINK | |
ELIST_LINK () | |
ELIST_LINK (const ELIST_LINK &) | |
void | operator= (const ELIST_LINK &) |
Static Public Member Functions | |
static BLOBNBOX * | RealBlob (C_OUTLINE *outline) |
static bool | IsTextType (BlobRegionType type) |
static bool | IsImageType (BlobRegionType type) |
static bool | IsLineType (BlobRegionType type) |
static bool | UnMergeableType (BlobRegionType type) |
static void | CleanNeighbours (BLOBNBOX_LIST *blobs) |
static void | DeleteNoiseBlobs (BLOBNBOX_LIST *blobs) |
static void | ComputeEdgeOffsets (Pix *thresholds, Pix *grey, BLOBNBOX_LIST *blobs) |
static void | PlotBlobs (BLOBNBOX_LIST *list, ScrollView::Color body_colour, ScrollView::Color child_colour, ScrollView *win) |
static void | PlotNoiseBlobs (BLOBNBOX_LIST *list, ScrollView::Color body_colour, ScrollView::Color child_colour, ScrollView *win) |
static ScrollView::Color | TextlineColor (BlobRegionType region_type, BlobTextFlowType flow_type) |
Private Attributes | |
C_BLOB * | cblob_ptr |
TBOX | box |
TBOX | red_box |
signed int | area:30 |
unsigned | joined: 1 |
unsigned | reduced: 1 |
int | repeated_set_ |
TabType | left_tab_type_ |
TabType | right_tab_type_ |
BlobRegionType | region_type_ |
BlobTextFlowType | flow_ |
int16_t | left_rule_ |
int16_t | right_rule_ |
int16_t | left_crossing_rule_ |
int16_t | right_crossing_rule_ |
int16_t | base_char_top_ |
int16_t | base_char_bottom_ |
int16_t | baseline_y_ |
int | line_crossings_ |
BLOBNBOX * | base_char_blob_ |
float | horz_stroke_width_ |
float | vert_stroke_width_ |
float | area_stroke_width_ |
tesseract::ColPartition * | owner_ |
BlobSpecialTextType | spt_type_ |
BLOBNBOX * | neighbours_ [BND_COUNT] |
bool | good_stroke_neighbours_ [BND_COUNT] |
bool | horz_possible_ |
bool | vert_possible_ |
bool | leader_on_left_ |
bool | leader_on_right_ |
bool | owns_cblob_ |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
TBOX BLOBNBOX::BoundsWithinLimits | ( | int | left, |
int | right | ||
) |
ScrollView::Color BLOBNBOX::BoxColor | ( | ) | const |
|
inline |
void BLOBNBOX::chop | ( | BLOBNBOX_IT * | start_it, |
BLOBNBOX_IT * | blob_it, | ||
FCOORD | rotation, | ||
float | xheight | ||
) |
void BLOBNBOX::CleanNeighbours | ( | ) |
|
static |
|
inline |
|
inline |
|
static |
bool BLOBNBOX::ConfirmNoTabViolation | ( | const BLOBNBOX & | other | ) | const |
|
inline |
bool BLOBNBOX::DefiniteIndividualFlow | ( | ) |
|
inline |
|
static |
|
inline |
void BLOBNBOX::EstimateBaselinePosition | ( | ) |
|
inline |
|
inline |
int BLOBNBOX::GoodTextBlob | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool BLOBNBOX::MatchingStrokeWidth | ( | const BLOBNBOX & | other, |
double | fractional_tolerance, | ||
double | constant_tolerance | ||
) | const |
void BLOBNBOX::merge | ( | BLOBNBOX * | nextblob | ) |
void BLOBNBOX::MinMaxGapsClipped | ( | int * | h_min, |
int * | h_max, | ||
int * | v_min, | ||
int * | v_max | ||
) | const |
|
inline |
void BLOBNBOX::NeighbourGaps | ( | int | gaps[BND_COUNT] | ) | const |
int BLOBNBOX::NoisyNeighbours | ( | ) | const |
|
inline |
void BLOBNBOX::plot | ( | ScrollView * | window, |
ScrollView::Color | blob_colour, | ||
ScrollView::Color | child_colour | ||
) |
|
static |
|
static |
void BLOBNBOX::really_merge | ( | BLOBNBOX * | other | ) |
|
inline |
|
inline |
void BLOBNBOX::reflect_box_in_y_axis | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void BLOBNBOX::rotate | ( | FCOORD | rotation | ) |
void BLOBNBOX::rotate_box | ( | FCOORD | rotation | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |