mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-18 11:28:51 +08:00
425d593ebe
git-svn-id: https://tesseract-ocr.googlecode.com/svn/trunk/trunk@2 d0cd1f9f-072b-0410-8dd7-cf729c803f20
105 lines
3.7 KiB
C
105 lines
3.7 KiB
C
/* -*-C-*-
|
|
********************************************************************************
|
|
*
|
|
* File: chopper.h (Formerly chopper.h)
|
|
* Description:
|
|
* Author: Mark Seaman, SW Productivity
|
|
* Created: Fri Oct 16 14:37:00 1987
|
|
* Modified: Wed May 15 14:24:26 1991 (Mark Seaman) marks@hpgrlt
|
|
* Language: C
|
|
* Package: N/A
|
|
* Status: Reusable Software Component
|
|
*
|
|
* (c) Copyright 1987, Hewlett-Packard Company.
|
|
** 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 CHOPPER_H
|
|
#define CHOPPER_H
|
|
|
|
/*----------------------------------------------------------------------
|
|
I n c l u d e s
|
|
----------------------------------------------------------------------*/
|
|
#include "choicearr.h"
|
|
#include "seam.h"
|
|
#include "matrix.h"
|
|
#include "stopper.h"
|
|
#include "states.h"
|
|
#include "cutil.h"
|
|
|
|
/*----------------------------------------------------------------------
|
|
F u n c t i o n s
|
|
----------------------------------------------------------------------*/
|
|
void preserve_outline(EDGEPT *start);
|
|
|
|
void preserve_outline_tree(TESSLINE *srcline);
|
|
|
|
EDGEPT *restore_outline(EDGEPT *start);
|
|
|
|
void restore_outline_tree(TESSLINE *srcline);
|
|
|
|
SEAM *attempt_blob_chop(TWERD *word, INT32 blob_number, SEAMS seam_list);
|
|
|
|
int any_shared_split_points(SEAMS seam_list, SEAM *seam);
|
|
|
|
int check_blob(TBLOB *blob);
|
|
|
|
CHOICES_LIST improve_one_blob(TWERD *word,
|
|
CHOICES_LIST char_choices,
|
|
int fx,
|
|
INT32 *blob_number,
|
|
SEAMS *seam_list,
|
|
DANGERR *fixpt,
|
|
STATE *this_state,
|
|
STATE *correct_state,
|
|
INT32 pass);
|
|
|
|
INT16 check_seam_order(TBLOB *blob, SEAM *seam);
|
|
|
|
CHOICES_LIST chop_word_main(register TWERD *word,
|
|
int fx,
|
|
A_CHOICE *best_choice,
|
|
A_CHOICE *raw_choice,
|
|
BOOL8 tester,
|
|
BOOL8 trainer);
|
|
|
|
void improve_by_chopping(register TWERD *word,
|
|
CHOICES_LIST *char_choices,
|
|
int fx,
|
|
STATE *best_state,
|
|
A_CHOICE *best_choice,
|
|
A_CHOICE *raw_choice,
|
|
SEAMS *seam_list,
|
|
DANGERR *fixpt,
|
|
STATE *chop_states,
|
|
INT32 *state_count,
|
|
STATE *correct_state,
|
|
INT32 pass);
|
|
|
|
INT16 select_blob_to_split(CHOICES_LIST char_choices, float rating_ceiling);
|
|
|
|
SEAMS start_seam_list(TBLOB *blobs);
|
|
|
|
INT16 total_containment(TBLOB *blob1, TBLOB *blob2);
|
|
|
|
MATRIX word_associator(TBLOB *blobs,
|
|
SEAMS seams,
|
|
STATE *state,
|
|
int fxid,
|
|
A_CHOICE *best_choice,
|
|
A_CHOICE *raw_choice,
|
|
char *correct,
|
|
DANGERR *fixpt,
|
|
STATE *best_state,
|
|
INT32 pass);
|
|
#endif
|