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

📄 edgblob.h

📁 一OCR的相关资料。.希望对研究OCR的朋友有所帮助.
💻 H
字号:
/********************************************************************** * File:        edgblob.h  (Formerly edgeloop.h) * Description: Functions to clean up an outline before approximation. * Author:		Ray Smith * Created:		Tue Mar 26 16:56:25 GMT 1991 * * (C) Copyright 1991, 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           EDGBLOB_H#define           EDGBLOB_H#include          "grphics.h"#include          "varable.h"#include          "img.h"#include          "ocrblock.h"#include          "coutln.h"#include          "crakedge.h"#include          "notdll.h"#define BUCKETSIZE      16class OL_BUCKETS{  public:    OL_BUCKETS(               //constructor               ICOORD bleft,  //corners               ICOORD tright);    ~OL_BUCKETS () {             //cleanup      delete[]buckets;    }    C_OUTLINE_LIST *operator () (//array access      INT16 x,                   //image coords      INT16 y);                                 //first non-empty bucket    C_OUTLINE_LIST *start_scan() {       for (index = 0; buckets[index].empty () && index < bxdim * bydim - 1;        index++);      return &buckets[index];    }                                 //next non-empty bucket    C_OUTLINE_LIST *scan_next() {       for (; buckets[index].empty () && index < bxdim * bydim - 1; index++);      return &buckets[index];    }    INT32 count_children(                     //recursive sum                         C_OUTLINE *outline,  //parent outline                         INT32 max_count);    //max output    void extract_children(                     //single level get                          C_OUTLINE *outline,  //parent outline                          C_OUTLINE_IT *it);   //destination iterator  private:    C_OUTLINE_LIST * buckets;    //array of buckets    INT16 bxdim;                 //size of array    INT16 bydim;    ICOORD bl;                   //corners    ICOORD tr;    INT32 index;                 //for extraction scan};void extract_edges(                 //find blobs#ifndef GRAPHICS_DISABLED                   WINDOW window,   //window for output#endif                   IMAGE *image,    //image to scan                   IMAGE *t_image,  //thresholded image                   ICOORD page_tr,  //corner of page                   BLOCK *block     //block to scan                  );void outlines_to_blobs(               //find blobs                       BLOCK *block,  //block to scan                       ICOORD bleft,  //block box //outlines in block                       ICOORD tright,                       C_OUTLINE_LIST *outlines);void fill_buckets(                           //find blobs                  C_OUTLINE_LIST *outlines,  //outlines in block                  OL_BUCKETS *buckets        //output buckets                 );void empty_buckets(                     //find blobs                   BLOCK *block,        //block to scan                   OL_BUCKETS *buckets  //output buckets                  );BOOL8 capture_children(                       //find children                       OL_BUCKETS *buckets,   //bucket sort clanss                       C_BLOB_IT *reject_it,  //dead grandchildren                       C_OUTLINE_IT *blob_it  //output outlines                      );#endif

⌨️ 快捷键说明

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