Tesseract
3.02
|
#include "blobclass.h"
#include "extract.h"
#include "efio.h"
#include "featdefs.h"
#include "callcpp.h"
#include "chartoname.h"
#include <math.h>
#include <stdio.h>
#include <signal.h>
Go to the source code of this file.
Defines | |
#define | MAXFILENAME 80 |
#define | MAXMATCHES 10 |
#define | TRAIN_SUFFIX ".tr" |
Functions | |
void | LearnBlob (const FEATURE_DEFS_STRUCT &FeatureDefs, const STRING &filename, TBLOB *Blob, const DENORM &denorm, const char *BlobText) |
void | LearnBlob (const FEATURE_DEFS_STRUCT &FeatureDefs, FILE *FeatureFile, TBLOB *Blob, const DENORM &denorm, const char *BlobText, const char *FontName) |
Variables | |
char * | classify_font_name = kUnknownFontName |
char | imagefile [] |
#define MAXFILENAME 80 |
---------------------------------------------------------------------------- Include Files and Type Defines ----------------------------------------------------------------------------
Definition at line 33 of file blobclass.cpp.
#define MAXMATCHES 10 |
Definition at line 34 of file blobclass.cpp.
#define TRAIN_SUFFIX ".tr" |
void LearnBlob | ( | const FEATURE_DEFS_STRUCT & | FeatureDefs, |
const STRING & | filename, | ||
TBLOB * | Blob, | ||
const DENORM & | denorm, | ||
const char * | BlobText | ||
) |
---------------------------------------------------------------------------- Public Code ----------------------------------------------------------------------------
Definition at line 52 of file blobclass.cpp.
{ /* ** Parameters: ** Blob blob whose micro-features are to be learned ** Row row of text that blob came from ** BlobText text that corresponds to blob ** TextLength number of characters in blob ** Globals: ** imagefile base filename of the page being learned ** classify_font_name ** name of font currently being trained on ** Operation: ** Extract micro-features from the specified blob and append ** them to the appropriate file. ** Return: none ** Exceptions: none ** History: 7/28/89, DSJ, Created. */ #define TRAIN_SUFFIX ".tr" static FILE *FeatureFile = NULL; STRING Filename(filename); // If no fontname was set, try to extract it from the filename STRING CurrFontName = classify_font_name; if (CurrFontName == kUnknownFontName) { // filename is expected to be of the form [lang].[fontname].exp[num] // The [lang], [fontname] and [num] fields should not have '.' characters. const char *basename = strrchr(filename.string(), '/'); const char *firstdot = strchr(basename ? basename : filename.string(), '.'); const char *lastdot = strrchr(filename.string(), '.'); if (firstdot != lastdot && firstdot != NULL && lastdot != NULL) { ++firstdot; CurrFontName = firstdot; CurrFontName[lastdot - firstdot] = '\0'; } } // if a feature file is not yet open, open it // the name of the file is the name of the image plus TRAIN_SUFFIX if (FeatureFile == NULL) { Filename += TRAIN_SUFFIX; FeatureFile = Efopen(Filename.string(), "wb"); cprintf("TRAINING ... Font name = %s\n", CurrFontName.string()); } LearnBlob(FeatureDefs, FeatureFile, Blob, denorm, BlobText, CurrFontName.string()); } // LearnBlob
void LearnBlob | ( | const FEATURE_DEFS_STRUCT & | FeatureDefs, |
FILE * | FeatureFile, | ||
TBLOB * | Blob, | ||
const DENORM & | denorm, | ||
const char * | BlobText, | ||
const char * | FontName | ||
) |
Definition at line 102 of file blobclass.cpp.
{ CHAR_DESC CharDesc; ASSERT_HOST(FeatureFile != NULL); CharDesc = ExtractBlobFeatures(FeatureDefs, denorm, Blob); if (CharDesc == NULL) { cprintf("LearnBLob: CharDesc was NULL. Aborting.\n"); return; } if (ValidCharDescription(FeatureDefs, CharDesc)) { // label the features with a class name and font name fprintf(FeatureFile, "\n%s %s\n", FontName, BlobText); // write micro-features to file and clean up WriteCharDescription(FeatureDefs, FeatureFile, CharDesc); } else { tprintf("Blob learned was invalid!\n"); } FreeCharDescription(CharDesc); } // LearnBlob
char* classify_font_name = kUnknownFontName |
"Default font name to be used in training"
Definition at line 39 of file blobclass.cpp.
char imagefile[] |
---------------------------------------------------------------------------- Global Data Definitions and Declarations ----------------------------------------------------------------------------