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.

#include <tcl.h>
#include <tk.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <cstdlib>
#include <math.h>
#include "system.h"
#include "Page.h"
#include "tcl_interface.h"


#define QUIT 0
#define PAUSE 0

/*

Creates a tcl interpereter, link variable capabilities,
and "docommand" function--Thanks to: Keiji Kanazawa

To execute a line in tcl:  (set x 4)

docommand("set x 4");

also

docommand("set x %d", 4);  

or

docommand("set %s %d", "x", 4);   this might not work ("x" on the stack) 

started 10/95 Archie Russell

*/



Tcl_Interp* TCL_ip;
Tk_Window main_window;
Page* global_page = new Page;


int main(int argc, char** argv)
{
  initialize_interpreter();
  initialize_command_procs();
  initialize_link_vars();
  if(ENABLE_USER_INTERFACE)
      {
	load_user_interface();
      }

  Page * testPage;
  int return_code;
  testPage = new Page;
  if(ENABLE_USER_INTERFACE)
    readLearnFiles();
  else
    {
      if(argc == 3 && strcmp(argv[2], "nolearn") == 0)
	readLearnedGroups("learnedGroups.dat");
      else
	{
	  learn("train.tif", "train.txt");
	  writeLearnedGroups("learnedGroups.dat");
	}
    }
  if(!ENABLE_USER_INTERFACE) {
    testPage->readMap(argv[1]);
    testPage->deskew(0);
    testPage->setLines();
    testPage->extractComponents();
    testPage->recognize();
    testPage->extractWords();
    testPage->printComponents();
    testPage->writeWordPos("wordpos.out");
    testPage->writeAscii("ascii.out");
    delete testPage;
  }  
  if(ENABLE_USER_INTERFACE)
  while(1)
      {
	Tcl_DoOneEvent(TCL_DONT_WAIT);  //6/21/00
      }
  exit(0);
}