mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-18 11:28:51 +08:00
fb2e23f6de
git-svn-id: https://tesseract-ocr.googlecode.com/svn/trunk@41 d0cd1f9f-072b-0410-8dd7-cf729c803f20
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_node ( L ) )
|
|
|
|
/**----------------------------------------------------------------------------
|
|
Public Function Prototypes
|
|
----------------------------------------------------------------------------**/
|
|
MICROFEATURE NewMicroFeature();
|
|
|
|
void FreeMicroFeatures(MICROFEATURES MicroFeatures);
|
|
#endif
|