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

📄 plotedges.cpp

📁 一OCR的相关资料。.希望对研究OCR的朋友有所帮助.
💻 CPP
字号:
/* -*-C-*- ******************************************************************************** * * File:        plotedges.c  (Formerly plotedges.c) * Description:  Graphics routines for "Edges" and "Outlines" windows * Author:       Mark Seaman, OCR Technology * Created:      Fri Jul 28 13:14:48 1989 * Modified:     Tue Jul  9 17:22:22 1991 (Mark Seaman) marks@hpgrlt * Language:     C * Package:      N/A * Status:       Experimental (Do Not Distribute) * * (c) Copyright 1989, 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. * *********************************************************************************/#ifdef __UNIX__#include <assert.h>#endif#include "plotedges.h"#include "render.h"#include "split.h"/*----------------------------------------------------------------------              V a r i a b l e s----------------------------------------------------------------------*/void *edge_window = NULL;/*----------------------------------------------------------------------              F u n c t i o n s----------------------------------------------------------------------*//********************************************************************** * display_edgepts * * Macro to display edge points in a window. **********************************************************************/void display_edgepts(LIST outlines) {  void *window;  /* Set up window */  if (edge_window == NULL) {    edge_window = c_create_window ("Edges", 750, 150,      400, 128, -400.0, 400.0, 0.0, 256.0);  }  else {    c_clear_window(edge_window);  }  /* Render the outlines */  window = edge_window;  /* Reclaim old memory */  iterate(outlines) {    render_edgepts (window, (EDGEPT *) first (outlines), White);  }}/********************************************************************** * draw_blob_edges * * Display the edges of this blob in the edges window. **********************************************************************/void draw_blob_edges(TBLOB *blob) {  TESSLINE *ol;  LIST edge_list = NIL;  if (display_splits) {    for (ol = blob->outlines; ol != NULL; ol = ol->next)      push_on (edge_list, ol->loop);    display_edgepts(edge_list);    destroy(edge_list);  }}/********************************************************************** * mark_outline * * Make a mark on the edges window at a particular location. **********************************************************************/void mark_outline(EDGEPT *edgept) {  /* Start of point list */  void *window = edge_window;  float x = edgept->pos.x;  float y = edgept->pos.y;  c_line_color_index(window, Red);  c_move(window, x, y);  x -= 4;  y -= 12;  c_draw(window, x, y);  x -= 2;  y += 4;  c_draw(window, x, y);  x -= 4;  y += 2;  c_draw(window, x, y);  x += 10;  y += 6;  c_draw(window, x, y);  c_make_current(window);}/********************************************************************** * mark_split * * Set up the marks list to be displayed in subsequent updates and draw * the marks in the current window.  The marks are stored in the second * sublist. The first sublist is left unmodified. **********************************************************************/void mark_split(SPLIT *split) {  void *window = edge_window;  c_line_color_index(window, Green);  c_move (window, (float) split->point1->pos.x, (float) split->point1->pos.y);  c_draw (window, (float) split->point2->pos.x, (float) split->point2->pos.y);  c_make_current(window);}

⌨️ 快捷键说明

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