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

📄 expandblob.cpp

📁 一OCR的相关资料。.希望对研究OCR的朋友有所帮助.
💻 CPP
字号:
/************************************************************************** * Revision 5.1  89/07/27  11:46:53  11:46:53  ray () * (C) Copyright 1989, 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. ***************************************************************************/#include "mfcpch.h"#include "expandblob.h"#include "tessclas.h"#include "const.h"#include "structures.h"#include "freelist.h"/***********************************************************************free_blob(blob) frees the blob and everything it is connected to,i.e. outlines, nodes, edgepts, bytevecs, ratings etc*************************************************************************/void free_blob(  /*blob to free */               register TBLOB *blob) {  if (blob == NULL)    return;                      /*duff blob */  free_tree (blob->outlines);    /*do the tree of outlines */  oldblob(blob);  /*free the actual blob */}/***************************************************************************free_tree(outline) frees the current outlineand then its sub-tree*****************************************************************************/void free_tree(  /*outline to draw */               register TESSLINE *outline) {  if (outline == NULL)    return;                      /*duff outline */  if (outline->next != NULL)    free_tree (outline->next);  if (outline->child != NULL)    free_tree (outline->child);  /*and sub-tree */  free_outline(outline);  /*free the outline */}/*******************************************************************************free_outline(outline) frees an outline and anything connected to it*********************************************************************************/void free_outline(  /*outline to free */                  register TESSLINE *outline) {  if (outline->compactloop != NULL)                                 /*no compact loop */      memfree (outline->compactloop);  if (outline->loop != NULL)    free_loop (outline->loop);  oldoutline(outline);}/*********************************************************************************free_loop(startpt) frees all the elements of the closed loopstarting at startpt***********************************************************************************/void free_loop(  /*outline to free */               register EDGEPT *startpt) {  register EDGEPT *edgept;       /*current point */  if (startpt == NULL)    return;  edgept = startpt;  do {    edgept = oldedgept (edgept); /*free it and move on */  }  while (edgept != startpt);}

⌨️ 快捷键说明

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