📄 tessclas.h
字号:
#ifndef TESSCLAS_H#define TESSCLAS_H 1#define SPLINESIZE 23 /*max spline parts to a line */#define TBLOBFLAGS 4 /*No of flags in a blob */#define MAX_WO_CLASSES 3#define EDGEPTFLAGS 4 /*concavity,length etc. */typedef struct{ double a; /*x squared */ double b; /*x */ double c; /*constant */} QUAD_SPEC; /*definiton of quadratic */typedef struct{ int segments; /*no of spline segments */ int xstarts[SPLINESIZE]; /*start x coords */ QUAD_SPEC quads[SPLINESIZE]; /*quadratic sections */} SPLINE_SPEC; /*quadratic spline */typedef struct{ short x; /*absolute x coord */ short y; /*absolute y coord */} TPOINT;typedef TPOINT VECTOR; /*structure for coordinates */typedef struct{ char dx; /*compact vectors */ char dy;} BYTEVEC;typedef struct edgeptstruct{ TPOINT pos; /*position */ VECTOR vec; /*vector to next point */ char flags[EDGEPTFLAGS]; /*concavity, length etc */ struct edgeptstruct *next; /*anticlockwise element */ struct edgeptstruct *prev; /*clockwise element */} EDGEPT; /*point on expanded outline */typedef struct blobstruct{ struct olinestruct *outlines; /*list of outlines in blob */ char flags[TBLOBFLAGS]; /*blob flags */ char correct; /*correct text */ char guess; /*best guess */ /*quickie classification */ unsigned char classes[MAX_WO_CLASSES]; /*quickie ratings */ unsigned char values[MAX_WO_CLASSES]; struct blobstruct *next; /*next blob in block */} TBLOB; /*blob structure */typedef struct olinestruct{ TPOINT topleft; /*top left of loop */ TPOINT botright; /*bottom right of loop */ TPOINT start; /*start of loop */ BYTEVEC *compactloop; /*ptr to compacted loop */ EDGEPT *loop; /*edgeloop */ void *node; /*1st node on outline */ struct olinestruct *next; /*next at this level */ struct olinestruct *child; /*inner outline */} TESSLINE; /*outline structure */typedef struct wordstruct{ struct textrowstruct *row; /*row it came from */ char *correct; /*correct word string */ char *guess; /*guess word string */ TBLOB *blobs; /*blobs in word */ int blanks; /*blanks before word */ int blobcount; /*no of blobs in word */ struct wordstruct *next; /*next word */} TWERD; /*word structure */typedef struct textrowstruct{ int blobcount; /** count of blobs in row. **/ TBLOB *blobs; /*list of blobs in row */ TWERD *words; /*list of words in row */ int mean_y; /** y coordinate of centre of row **/ int max_y; /** y coordinate of top of row **/ int min_y; /** y coordinate of bottom of row **/ SPLINE_SPEC xheight; /*top of row */ SPLINE_SPEC baseline; /*bottom of row */ float descdrop; /*descender drop */ float ascrise; /*ascender rise */ float lineheight; /*average xheight-baseline */ int kerning; /*kerning of row */ int space; /*spacing of row */ float space_threshold; /*Bayesian space limit */ int p_spaced; /*proportinal flag */ int b_space; /*block spacing */ int b_kern; /*block kerning */ struct textrowstruct *next; /*next row in block */} TEXTROW;typedef struct blockstruct /** list of coordinates **/{ TBLOB *blobs; /*blobs in block */ TEXTROW *rows; /*rows in block */ int blobcount; /*no of blobs */ short xmin; short xmax; short ymin; short ymax; char type; /** block type **/ char p_spaced; /** flag to show propertianal spacing **/ short rowcount; /** number of rows **/ short leading; /** space between rows **/ short kerning; /** space between characters **/ short space; /** distance between char centres **/ short minwidth; /*min width of char in block */ short p_size; /** point size of text **/ short l_margin; /** posn of left margin **/ short italic; /** flag to show italic block **/ short spurious; /** percentage of spurious characters **/ struct blockstruct *next; /*next text block */} TEXTBLOCK; /*block from image *//********************************************************************** * iterate_blobs * * Visit all the words in a list using a local variable. **********************************************************************/#define iterate_blobs(blob,blobs) \for (blob = blobs; blob != NULL; blob = blob->next)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -