69 LIST RemainingOutlines;
77 RemainingOutlines = Outlines;
127 Delta.
x =
XDelta (*Start, *End) / NumFeatures;
128 Delta.
y =
YDelta (*Start, *End) / NumFeatures;
131 Center.
x = Start->
x + Delta.
x / 2.0;
132 Center.
y = Start->
y + Delta.
y / 2.0;
135 for (i = 0; i < NumFeatures; i++) {
182 &(
PointAt(Next)->Point), FeatureSet);
187 while (Current != First);
235 blob,
false, &local_fx_info, &bl_features);
236 if (sample == NULL)
return NULL;
241 for (
int f = 0; f < num_features; ++f) {
267 blob,
false, &local_fx_info, &bl_features);
268 if (sample == NULL)
return NULL;
FEATURE_SET NewFeatureSet(int NumFeatures)
FEATURE_SET ExtractIntCNFeatures(const TBLOB &blob, const INT_FX_RESULT_STRUCT &fx_info)
const FEATURE_DESC_STRUCT IntFeatDesc
LIST ConvertBlob(TBLOB *blob)
void NormalizeOutlines(LIST Outlines, FLOAT32 *XScale, FLOAT32 *YScale)
void ConvertToPicoFeatures2(MFOUTLINE Outline, FEATURE_SET FeatureSet)
#define MAX_PICO_FEATURES
FLOAT32 NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, FLOAT32 FullScale)
void NormalizePicoX(FEATURE_SET FeatureSet)
#define double_VAR(name, val, comment)
FEATURE_SET ExtractIntGeoFeatures(const TBLOB &blob, const INT_FX_RESULT_STRUCT &fx_info)
TrainingSample * BlobToTrainingSample(const TBLOB &blob, bool nonlinear_norm, INT_FX_RESULT_STRUCT *fx_info, GenericVector< INT_FEATURE_STRUCT > *bl_features)
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
#define DegenerateOutline(O)
void ConvertSegmentToPicoFeat(FPOINT *Start, FPOINT *End, FEATURE_SET FeatureSet)
int geo_feature(int index) const
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
const INT_FEATURE_STRUCT * features() const
double classify_pico_feature_length
#define NextPointAfter(E)
FEATURE_SET ExtractPicoFeatures(TBLOB *Blob)
void FreeOutlines(LIST Outlines)
FLOAT32 DistanceBetween(FPOINT A, FPOINT B)
TESS_API const FEATURE_DESC_STRUCT PicoFeatDesc
BOOL8 AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)