Tesseract  3.02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
speckle.h File Reference
#include "baseline.h"
#include "ratngs.h"

Go to the source code of this file.

Functions

void AddLargeSpeckleTo (BLOB_CHOICE_LIST *Choices)
BOOL8 LargeSpeckle (TBLOB *Blob)

Function Documentation

void AddLargeSpeckleTo ( BLOB_CHOICE_LIST *  Choices)

This routine adds a null choice to Choices with a rating equal to the worst rating in Choices plus a pad. The certainty of the new choice is the same as the certainty of the worst choice in Choices. The new choice is added to the end of Choices.

Globals:

Parameters:
Choiceschoices to add a speckle choice to
Returns:
New Choices list with null choice added to end.

Exceptions: none History: Mon Mar 11 11:08:11 1991, DSJ, Created.

Definition at line 62 of file speckle.cpp.

{
assert(Choices != NULL);
BLOB_CHOICE *blob_choice;
BLOB_CHOICE_IT temp_it;
temp_it.set_to_list(Choices);
// If there are no other choices, use the small speckle penalty plus
// the large speckle penalty.
if (Choices->length() == 0) {
blob_choice =
speckle_small_certainty, -1, -1, NULL, 0, 0, false);
temp_it.add_to_end(blob_choice);
return;
}
// If there are other choices, add a null choice that is slightly worse
// than the worst choice so far.
temp_it.move_to_last();
blob_choice = temp_it.data(); // pick the worst choice
temp_it.add_to_end(
new BLOB_CHOICE(0, blob_choice->rating() + speckle_large_penalty,
blob_choice->certainty(), -1, -1, NULL, 0, 0, false));
} /* AddLargeSpeckleTo */
BOOL8 LargeSpeckle ( TBLOB blob)

This routine returns TRUE if both the width of height of Blob are less than the MaxLargeSpeckleSize.

Globals:

Exceptions: none History: Mon Mar 11 10:06:49 1991, DSJ, Created.

Parameters:
blobblob to test against speckle criteria
Returns:
TRUE if blob is speckle, FALSE otherwise.

Definition at line 103 of file speckle.cpp.

{
double speckle_size = BASELINE_SCALE * speckle_large_max_size;
TBOX bbox = blob->bounding_box();
return (bbox.width() < speckle_size && bbox.height() < speckle_size);
} /* LargeSpeckle */