#include "mfx.h"
#include "mfdefs.h"
#include "mfoutline.h"
#include "clusttool.h"
#include "intfx.h"
#include "normalis.h"
#include "params.h"
Go to the source code of this file.
◆ BlobMicroFeatures()
This routine extracts micro-features from the specified blob and returns a list of the micro-features. All micro-features are normalized according to the specified line statistics.
- Parameters
-
Blob | blob to extract micro-features from |
cn_denorm | control parameter to feature extractor |
- Returns
- List of micro-features extracted from the blob.
Definition at line 61 of file mfx.cpp.
64 LIST RemainingOutlines;
67 if (Blob !=
nullptr) {
70 RemainingOutlines = Outlines;
76 RemainingOutlines = Outlines;
double classify_max_slope
void CharNormalizeOutline(MFOUTLINE Outline, const DENORM &cn_denorm)
double classify_min_slope
MICROFEATURES ConvertToMicroFeatures(MFOUTLINE Outline, MICROFEATURES MicroFeatures)
void FindDirectionChanges(MFOUTLINE Outline, float MinSlope, float MaxSlope)
void FreeOutlines(LIST Outlines)
LIST ConvertBlob(TBLOB *blob)
void MarkDirectionChanges(MFOUTLINE Outline)
◆ ConvertToMicroFeatures()
Convert Outline to MicroFeatures
- Parameters
-
Outline | outline to extract micro-features from |
MicroFeatures | list of micro-features to add to |
- Returns
- List of micro-features with new features added to front.
- Note
- Globals: none
Definition at line 99 of file mfx.cpp.
106 if (DegenerateOutline (Outline))
107 return (MicroFeatures);
113 if (!PointAt(Current)->Hidden) {
120 while (Last != First);
122 return (MicroFeatures);
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
MFOUTLINE NextExtremity(MFOUTLINE EdgePoint)
LIST push(LIST list, void *element)
MICROFEATURE ExtractMicroFeature(MFOUTLINE Start, MFOUTLINE End)
◆ ExtractMicroFeature()
This routine computes the feature parameters which describe the micro-feature that starts and Start and ends at End. A new micro-feature is allocated, filled with the feature parameters, and returned. The routine assumes that Start and End are not the same point. If they are the same point, nullptr is returned, a warning message is printed, and the current outline is dumped to stdout.
- Parameters
-
Start | starting point of micro-feature |
End | ending point of micro-feature |
- Returns
- New micro-feature or nullptr if the feature was rejected.
- Note
- Globals: none
Definition at line 138 of file mfx.cpp.
float DistanceBetween(FPOINT A, FPOINT B)
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
MICROFEATURE NewMicroFeature()
float NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, float FullScale)
◆ classify_max_slope
double classify_max_slope = 2.414213562 |
"Slope above which lines are called vertical"
Definition at line 37 of file mfx.cpp.
◆ classify_min_slope
double classify_min_slope = 0.414213562 |
"Slope below which lines are called horizontal"
Definition at line 35 of file mfx.cpp.