Tesseract 3.01
|
#include "host.h"
#include "oldlist.h"
#include "fpoint.h"
#include "baseline.h"
#include "params.h"
Go to the source code of this file.
Classes | |
struct | MFEDGEPT |
struct | OUTLINE_STATS |
Defines | |
#define | NORMAL_X_HEIGHT (0.5) |
#define | NORMAL_BASELINE (0.0) |
#define | AverageOf(A, B) (((A) + (B)) / 2) |
#define | MF_SCALE_FACTOR (NORMAL_X_HEIGHT / BASELINE_SCALE) |
#define | DegenerateOutline(O) (((O) == NIL_LIST) || ((O) == list_rest(O))) |
#define | PointAt(O) ((MFEDGEPT *) first_node (O)) |
#define | NextPointAfter(E) (list_rest (E)) |
#define | MakeOutlineCircular(O) (set_rest (last (O), (O))) |
#define | ClearMark(P) ((P)->ExtremityMark = FALSE) |
#define | MarkPoint(P) ((P)->ExtremityMark = TRUE) |
Typedefs | |
typedef LIST | MFOUTLINE |
Enumerations | |
enum | DIRECTION { north, south, east, west, northeast, northwest, southeast, southwest } |
enum | OUTLINETYPE { outer, hole } |
enum | NORM_METHOD { baseline, character } |
Functions | |
void | ComputeBlobCenter (TBLOB *Blob, TPOINT *BlobCenter) |
LIST | ConvertBlob (TBLOB *Blob) |
MFOUTLINE | ConvertOutline (TESSLINE *Outline) |
LIST | ConvertOutlines (TESSLINE *Outline, LIST ConvertedOutlines, OUTLINETYPE OutlineType) |
void | ComputeOutlineStats (LIST Outlines, OUTLINE_STATS *OutlineStats) |
void | FilterEdgeNoise (MFOUTLINE Outline, FLOAT32 NoiseSegmentLength) |
void | FindDirectionChanges (MFOUTLINE Outline, FLOAT32 MinSlope, FLOAT32 MaxSlope) |
void | FreeMFOutline (void *agr) |
void | FreeOutlines (LIST Outlines) |
void | MarkDirectionChanges (MFOUTLINE Outline) |
MFEDGEPT * | NewEdgePoint () |
MFOUTLINE | NextExtremity (MFOUTLINE EdgePoint) |
void | NormalizeOutline (MFOUTLINE Outline, FLOAT32 XOrigin) |
void | SmearExtremities (MFOUTLINE Outline, FLOAT32 XScale, FLOAT32 YScale) |
void | ChangeDirection (MFOUTLINE Start, MFOUTLINE End, DIRECTION Direction) |
void | CharNormalizeOutline (MFOUTLINE Outline, FLOAT32 XCenter, FLOAT32 YCenter, FLOAT32 XScale, FLOAT32 YScale) |
void | ComputeDirection (MFEDGEPT *Start, MFEDGEPT *Finish, FLOAT32 MinSlope, FLOAT32 MaxSlope) |
void | FinishOutlineStats (register OUTLINE_STATS *OutlineStats) |
void | InitOutlineStats (OUTLINE_STATS *OutlineStats) |
MFOUTLINE | NextDirectionChange (MFOUTLINE EdgePoint) |
void | UpdateOutlineStats (register OUTLINE_STATS *OutlineStats, register FLOAT32 x1, register FLOAT32 x2, register FLOAT32 y1, register FLOAT32 y2) |
#define AverageOf | ( | A, | |
B | |||
) | (((A) + (B)) / 2) |
---------------------------------------------------------------------------- Macros ----------------------------------------------------------------------------
#define ClearMark | ( | P | ) | ((P)->ExtremityMark = FALSE) |
#define DegenerateOutline | ( | O | ) | (((O) == NIL_LIST) || ((O) == list_rest(O))) |
#define MakeOutlineCircular | ( | O | ) | (set_rest (last (O), (O))) |
#define MarkPoint | ( | P | ) | ((P)->ExtremityMark = TRUE) |
#define MF_SCALE_FACTOR (NORMAL_X_HEIGHT / BASELINE_SCALE) |
#define NextPointAfter | ( | E | ) | (list_rest (E)) |
#define NORMAL_BASELINE (0.0) |
#define NORMAL_X_HEIGHT (0.5) |
---------------------------------------------------------------------------- Include Files and Type Defines ----------------------------------------------------------------------------
#define PointAt | ( | O | ) | ((MFEDGEPT *) first_node (O)) |
enum DIRECTION |
enum NORM_METHOD |
enum OUTLINETYPE |
---------------------------------------------------------------------------- Private Code ----------------------------------------------------------------------------
void CharNormalizeOutline | ( | MFOUTLINE | Outline, |
FLOAT32 | XCenter, | ||
FLOAT32 | YCenter, | ||
FLOAT32 | XScale, | ||
FLOAT32 | YScale | ||
) |
---------------------------------------------------------------------------- Public Function Prototypes ----------------------------------------------------------------------------
void ComputeOutlineStats | ( | LIST | Outlines, |
OUTLINE_STATS * | OutlineStats | ||
) |
LIST ConvertOutlines | ( | TESSLINE * | Outline, |
LIST | ConvertedOutlines, | ||
OUTLINETYPE | OutlineType | ||
) |
void FinishOutlineStats | ( | register OUTLINE_STATS * | OutlineStats | ) |
void FreeMFOutline | ( | void * | agr | ) |
void FreeOutlines | ( | LIST | Outlines | ) |
void InitOutlineStats | ( | OUTLINE_STATS * | OutlineStats | ) |
void MarkDirectionChanges | ( | MFOUTLINE | Outline | ) |
MFEDGEPT* NewEdgePoint | ( | ) |
void UpdateOutlineStats | ( | register OUTLINE_STATS * | OutlineStats, |
register FLOAT32 | x1, | ||
register FLOAT32 | x2, | ||
register FLOAT32 | y1, | ||
register FLOAT32 | y2 | ||
) |