mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-11-25 11:39:06 +08:00
68 lines
2.6 KiB
C
68 lines
2.6 KiB
C
|
/******************************************************************************
|
||
|
** Filename: mfdefs.h
|
||
|
** Purpose: Definition of micro-features
|
||
|
** Author: Dan Johnson
|
||
|
** History: Mon Jan 22 08:42:13 1990, DSJ, Created.
|
||
|
**
|
||
|
** (c) Copyright Hewlett-Packard Company, 1988.
|
||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
** you may not use this file except in compliance with the License.
|
||
|
** You may obtain a copy of the License at
|
||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||
|
** Unless required by applicable law or agreed to in writing, software
|
||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
** See the License for the specific language governing permissions and
|
||
|
** limitations under the License.
|
||
|
******************************************************************************/
|
||
|
#ifndef MFDEFS_H
|
||
|
#define MFDEFS_H
|
||
|
|
||
|
/**----------------------------------------------------------------------------
|
||
|
Include Files and Type Defines
|
||
|
----------------------------------------------------------------------------**/
|
||
|
#include "oldlist.h"
|
||
|
#include "matchdefs.h"
|
||
|
#include "xform2d.h"
|
||
|
|
||
|
/* maximum size of a bulge for length=1 is sqrt(2)/3 */
|
||
|
#define BULGENORMALIZER 0.942809041
|
||
|
|
||
|
/* definition of a list of micro-features */
|
||
|
typedef LIST MICROFEATURES;
|
||
|
|
||
|
/* definition of structure of micro-features */
|
||
|
#define MFSIZE 6
|
||
|
typedef FLOAT32 MFBLOCK[MFSIZE];
|
||
|
typedef FLOAT32 *MICROFEATURE;
|
||
|
|
||
|
/* definitions of individual micro-feature parameters */
|
||
|
#define XPOSITION 0
|
||
|
#define YPOSITION 1
|
||
|
#define MFLENGTH 2
|
||
|
#define ORIENTATION 3
|
||
|
#define FIRSTBULGE 4
|
||
|
#define SECONDBULGE 5
|
||
|
|
||
|
/**----------------------------------------------------------------------------
|
||
|
Macros
|
||
|
----------------------------------------------------------------------------**/
|
||
|
/* macros for accessing micro-feature parameters */
|
||
|
#define CenterX(M) ( (M)[XPOSITION] )
|
||
|
#define CenterY(M) ( (M)[YPOSITION] )
|
||
|
#define LengthOf(M) ( (M)[MFLENGTH] )
|
||
|
#define OrientationOf(M) ( (M)[ORIENTATION] )
|
||
|
#define FirstBulgeOf(M) ( (M)[FIRSTBULGE] )
|
||
|
#define SecondBulgeOf(M) ( (M)[SECONDBULGE] )
|
||
|
|
||
|
/* macros for accessing micro-feature lists */
|
||
|
#define NextFeatureOf(L) ( (MICROFEATURE) first( L ) )
|
||
|
|
||
|
/**----------------------------------------------------------------------------
|
||
|
Public Function Prototypes
|
||
|
----------------------------------------------------------------------------**/
|
||
|
MICROFEATURE NewMicroFeature();
|
||
|
|
||
|
void FreeMicroFeatures(MICROFEATURES MicroFeatures);
|
||
|
#endif
|