⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 charsample.h

📁 一OCR的相关资料。.希望对研究OCR的朋友有所帮助.
💻 H
字号:
/********************************************************************** * File:        charsample.h  (Formerly charsample.h) * Description: Class to contain character samples and match scores *					to be used for adaption * Author:      Chris Newton * Created:     Thu Oct  7 13:40:37 BST 1993 * * (C) Copyright 1993, Hewlett-Packard Ltd. ** 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           CHARSAMPLE_H#define           CHARSAMPLE_H#include          "elst.h"#include          "pageres.h"#include          "memry.h"#include          "notdll.h"#include          "notdll.h"#define BAD_SCORE MAX_INT32#define FIRST_CHAR '!'#define LAST_CHAR  '~'enum ClusterType{ UNKNOWN, BLOB_CLUSTER, IMAGE_CLUSTER };class CHAR_SAMPLE;               //forward declELISTIZEH (CHAR_SAMPLE)class CHAR_SAMPLES;              //forward declELISTIZEH (CHAR_SAMPLES)class CHAR_PROTO;                //forward declclass CHAR_SAMPLE:public ELIST_LINK{  public:    CHAR_SAMPLE();  // empty constructor    CHAR_SAMPLE(  // simple constructor                PBLOB *blob,                DENORM *denorm,                char c);    CHAR_SAMPLE(  // simple constructor                IMAGE *image,                char c);    ~CHAR_SAMPLE () {      // We own the image, so it has to be deleted.      if (sample_image != NULL)        delete sample_image;    }    float match_sample(CHAR_SAMPLE *test_sample, BOOL8 updating);    INT32 n_matches() {      return n_samples_matched;    }    IMAGE *image() {      return sample_image;    }    PBLOB *blob() {      return sample_blob;    }    DENORM *denorm() {      return sample_denorm;    }    double mean_score();    double variance();    char character() {      return ch;    }    void print(FILE *f);    void reset_match_statistics();    NEWDELETE2 (CHAR_SAMPLE) private:    IMAGE * sample_image;    PBLOB *sample_blob;    DENORM *sample_denorm;    INT32 n_samples_matched;    double total_match_scores;    double sumsq_match_scores;    char ch;};class CHAR_SAMPLES:public ELIST_LINK{  public:    CHAR_SAMPLES();  //empty constructor    CHAR_SAMPLES(CHAR_SAMPLE *sample);    ~CHAR_SAMPLES () {           //destructor    }    INT32 n_samples() {      return samples.length ();    }    void add_sample(CHAR_SAMPLE *sample);    void build_prototype();    void rebuild_prototype(INT32 new_xsize, INT32 new_ysize);    void add_sample_to_prototype(CHAR_SAMPLE *sample);    CHAR_PROTO *prototype() {      return proto;    }    void find_best_sample();    float match_score(CHAR_SAMPLE *sample);    float nn_match_score(CHAR_SAMPLE *sample);    char character() {      return ch;    }    void assign_to_char();    void print(FILE *f);    NEWDELETE2 (CHAR_SAMPLES) private:    ClusterType type;    char ch;    CHAR_PROTO *proto;    CHAR_SAMPLE *best_sample;    CHAR_SAMPLE_LIST samples;};class CHAR_PROTO{  public:    CHAR_PROTO();  // empty constructor    CHAR_PROTO(INT32 x_size,               INT32 y_size,               INT32 n_samples,               float initial_value,               char c);    CHAR_PROTO(  // simple constructor               CHAR_SAMPLE *sample);    ~CHAR_PROTO ();    float match_sample(CHAR_SAMPLE *test_sample);    float match(CHAR_PROTO *test_proto);    INT32 n_samples() {      return nsamples;    }    INT32 x_size() {      return xsize;    }    INT32 y_size() {      return ysize;    }    float **data() {      return proto;    }    char character() {      return ch;    }    void enlarge_prototype(INT32 new_xsize, INT32 new_ysize);    void add_sample(CHAR_SAMPLE *sample);    IMAGE *make_image();    void print(FILE *f);    NEWDELETE2 (CHAR_PROTO) private:    INT32 xsize;    INT32 ysize;    float *proto_data;    float **proto;    INT32 nsamples;    char ch;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -