reference/ocr-simple/main.cc
author viric@llimona
Thu, 18 May 2006 23:12:51 +0200
changeset 0 6b8091ca909a
permissions -rw-r--r--
Init from working directory of svn repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
#include <tcl.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#include <tk.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
#include <stdio.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
#include <stdarg.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
#include <string.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
#include <cstdlib>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
#include <math.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
#include "system.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
#include "Page.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
#include "tcl_interface.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
#define QUIT 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
#define PAUSE 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
/*
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
Creates a tcl interpereter, link variable capabilities,
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
and "docommand" function--Thanks to: Keiji Kanazawa
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
To execute a line in tcl:  (set x 4)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
docommand("set x 4");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
also
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
docommand("set x %d", 4);  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
or
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
docommand("set %s %d", "x", 4);   this might not work ("x" on the stack) 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
started 10/95 Archie Russell
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
*/
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
Tcl_Interp* TCL_ip;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
Tk_Window main_window;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
Page* global_page = new Page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
int main(int argc, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
  initialize_interpreter();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
  initialize_command_procs();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
  initialize_link_vars();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
  if(ENABLE_USER_INTERFACE)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
      {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
	load_user_interface();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
      }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
  Page * testPage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
  int return_code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
  testPage = new Page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
  if(ENABLE_USER_INTERFACE)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
    readLearnFiles();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    59
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    60
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    61
      if(argc == 3 && strcmp(argv[2], "nolearn") == 0)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    62
	readLearnedGroups("learnedGroups.dat");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    63
      else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    64
	{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    65
	  learn("train.tif", "train.txt");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    66
	  writeLearnedGroups("learnedGroups.dat");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    67
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    68
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    69
  if(!ENABLE_USER_INTERFACE) {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    70
    testPage->readMap(argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    71
    testPage->deskew(0);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    72
    testPage->setLines();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    73
    testPage->extractComponents();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    74
    testPage->recognize();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    75
    testPage->extractWords();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    76
    testPage->printComponents();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    77
    testPage->writeWordPos("wordpos.out");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    78
    testPage->writeAscii("ascii.out");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    79
    delete testPage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    80
  }  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    81
  if(ENABLE_USER_INTERFACE)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    82
  while(1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    83
      {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    84
	Tcl_DoOneEvent(TCL_DONT_WAIT);  //6/21/00
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    85
      }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    86
  exit(0);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    87
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    88
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    89
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    90
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    91
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    92