Nekochan Net

Official Chat Channel: #nekochan // irc.nekochan.net
It is currently Mon Oct 20, 2014 6:03 am

All times are UTC - 8 hours [ DST ]


Forum rules


Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.



Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Tesseract -- whoo boy
Unread postPosted: Mon Feb 20, 2012 7:53 am 
Offline

Joined: Tue Feb 24, 2004 5:10 pm
Posts: 9693
Trying to compare the three readily-available ocr apps. Gocr builds nicely and runs okay on Irix, seems to be maybe 90% accurate ? Maybe better. Not awful but next in line is Tesseract, supposed to be the most accurate algorithm available.

Requires Leptonica, got through that. Examples and tests work so I think that is functional.

Got Tesseract here :

http://code.google.com/p/tesseract-ocr/downloads/list

Needs one additional step in ./configure, since it can't seem to find the Leptonica libraries on its own. No biggy. Look in ./configure --help

Hit gmake, all heck breaks loose. 74 errors compiling the very first C code file. Gack. This is beyond me, for sure ... anyone have a few moments to take a look ? I'll attach the Leptonica requiremts to save some work ... these are just the libraries and headers that go under /nekoware, no examples or any of the other useless junk. No viruses, I'm not smart enough to do that :shock:


Attachments:
leptonica_prereqs.tar.bz2 [2.65 MiB]
Downloaded 15 times
Top
 Profile  
 
Unread postPosted: Mon Feb 20, 2012 9:44 am 
Offline

Joined: Tue Sep 21, 2010 3:31 pm
Posts: 303
Location: Southwestern Ontario, Canada
I can tell you the problem is not IRIX, but with MIPS Pro. It seems to compile fine on IRIX with GCC in a quick test. I'm not (yet) sure why MIPS Pro is failing, other than that it doesn't seem to like ccutil/strngs.h from the Tesseract distribution. (Although the actual problem may be earlier in the compilation process, since it's complaining about the comment on line 1 of strngs.h.)

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000


Top
 Profile  
 
Unread postPosted: Mon Feb 20, 2012 6:54 pm 
Offline

Joined: Tue Feb 24, 2004 5:10 pm
Posts: 9693
jpstewart wrote:
I can tell you the problem is not IRIX, but with MIPS Pro. It seems to compile fine on IRIX with GCC in a quick test. I'm not (yet) sure why MIPS Pro is failing, other than that it doesn't seem to like ccutil/strngs.h from the Tesseract distribution.

Could easily be something I've done that's drastically wrong .... here's just a few of the initial error messages, maybe that will give someone a hint ? It doesn't seem to be only one type or error, we've got everything in there but the kitchen sink :(

Code:
cc-1007 CC: ERROR File = strngs.h, Line = 1
  The indicated token is not valid in this context.

  /**********************************************************************
  ^

cc-1166 CC: ERROR File = strngs.h, Line = 1
  Expected a declaration.

  /**********************************************************************
  ^

cc-1007 CC: ERROR File = strngs.h, Line = 1
  The indicated token is not valid in this context.

  /**********************************************************************
   ^

cc-1007 CC: ERROR File = strngs.h, Line = 1
  The indicated token is not valid in this context.

  /**********************************************************************
    ^

cc-1020 CC: ERROR File = strngs.h, Line = 68
  The identifier "STRING" is undefined.

      BOOL8 operator!= (const STRING & string) const;
                              ^

cc-1287 CC: ERROR File = strngs.h, Line = 68
  A type qualifier on this function is not allowed.

      BOOL8 operator!= (const STRING & string) const;
                                               ^

cc-1319 CC: ERROR File = strngs.h, Line = 68
  Too few parameters are specified for this operator function.

      BOOL8 operator!= (const STRING & string) const;
            ^

cc-3378 CC: ERROR File = strngs.h, Line = 68
  A nonmember operator requires a parameter with "class" or "enum" type.

      BOOL8 operator!= (const STRING & string) const;
            ^

cc-1287 CC: ERROR File = strngs.h, Line = 69
  A type qualifier on this function is not allowed.

      BOOL8 operator!= (const char *string) const;
                                            ^

cc-1319 CC: ERROR File = strngs.h, Line = 69
  Too few parameters are specified for this operator function.

      BOOL8 operator!= (const char *string) const;
            ^

cc-3378 CC: ERROR File = strngs.h, Line = 69
  A nonmember operator requires a parameter with "class" or "enum" type.

      BOOL8 operator!= (const char *string) const;
            ^

cc-1020 CC: ERROR File = strngs.h, Line = 71
  The identifier "STRING" is undefined.

      STRING & operator= (const char *string);
      ^

cc-1315 CC: ERROR File = strngs.h, Line = 71
  Function "operator=" must be a member function.

      STRING & operator= (const char *string);
               ^

cc-1020 CC: ERROR File = strngs.h, Line = 72
  The identifier "STRING" is undefined.

      STRING & operator= (const STRING & string);
      ^

cc-1315 CC: ERROR File = strngs.h, Line = 72
  Function "operator=" must be a member function.

      STRING & operator= (const STRING & string);
               ^

cc-1020 CC: ERROR File = strngs.h, Line = 72
  The identifier "STRING" is undefined.

      STRING & operator= (const STRING & string);
                                ^

cc-1020 CC: ERROR File = strngs.h, Line = 74
  The identifier "STRING" is undefined.

      STRING operator+ (const STRING & string) const;
      ^

cc-1020 CC: ERROR File = strngs.h, Line = 74
  The identifier "STRING" is undefined.

      STRING operator+ (const STRING & string) const;
                              ^

cc-1287 CC: ERROR File = strngs.h, Line = 74
  A type qualifier on this function is not allowed.

      STRING operator+ (const STRING & string) const;
                                               ^

cc-3378 CC: ERROR File = strngs.h, Line = 74
  A nonmember operator requires a parameter with "class" or "enum" type.

      STRING operator+ (const STRING & string) const;
             ^

cc-1020 CC: ERROR File = strngs.h, Line = 75
  The identifier "STRING" is undefined.

      STRING operator+ (const char ch) const;
      ^

cc-1287 CC: ERROR File = strngs.h, Line = 75
  A type qualifier on this function is not allowed.

      STRING operator+ (const char ch) const;
                                       ^

cc-3378 CC: ERROR File = strngs.h, Line = 75
  A nonmember operator requires a parameter with "class" or "enum" type.

      STRING operator+ (const char ch) const;
             ^

cc-1020 CC: ERROR File = strngs.h, Line = 77
  The identifier "STRING" is undefined.

      STRING & operator+= (const char *string);
      ^

cc-1319 CC: ERROR File = strngs.h, Line = 77
  Too few parameters are specified for this operator function.

      STRING & operator+= (const char *string);
               ^

cc-3378 CC: ERROR File = strngs.h, Line = 77
  A nonmember operator requires a parameter with "class" or "enum" type.

      STRING & operator+= (const char *string);
               ^

cc-1020 CC: ERROR File = strngs.h, Line = 78
  The identifier "STRING" is undefined.

      STRING & operator+= (const STRING & string);
      ^

cc-1020 CC: ERROR File = strngs.h, Line = 78
  The identifier "STRING" is undefined.

      STRING & operator+= (const STRING & string);
                                 ^

cc-1319 CC: ERROR File = strngs.h, Line = 78
  Too few parameters are specified for this operator function.

      STRING & operator+= (const STRING & string);
               ^

cc-3378 CC: ERROR File = strngs.h, Line = 78
  A nonmember operator requires a parameter with "class" or "enum" type.

      STRING & operator+= (const STRING & string);
               ^

cc-1020 CC: ERROR File = strngs.h, Line = 79
  The identifier "STRING" is undefined.

      STRING & operator+= (const char ch);
      ^

cc-1319 CC: ERROR File = strngs.h, Line = 79
  Too few parameters are specified for this operator function.

      STRING & operator+= (const char ch);
               ^

cc-3378 CC: ERROR File = strngs.h, Line = 79
  A nonmember operator requires a parameter with "class" or "enum" type.

      STRING & operator+= (const char ch);
               ^

cc-1020 CC: ERROR File = strngs.h, Line = 88
  The identifier "ensure_cstr" is undefined.

      inline void ensure(inT32 min_capacity) { ensure_cstr(min_capacity); }
                                               ^

cc-1166 CC: ERROR File = strngs.h, Line = 90
  Expected a declaration.

    private:
    ^

cc-1012 CC: WARNING File = strngs.h, Line = 107
  Parsing restarts here after previous syntax error.

      } STRING_HEADER;
                     ^

cc-1020 CC: ERROR File = strngs.h, Line = 113
  The identifier "STRING_HEADER" is undefined.

      STRING_HEADER* data_;
      ^

cc-1020 CC: ERROR File = strngs.h, Line = 116
  The identifier "STRING_HEADER" is undefined.

      inline STRING_HEADER* GetHeader() {
             ^

cc-1020 CC: ERROR File = strngs.h, Line = 119
  The identifier "STRING_HEADER" is undefined.

      inline const STRING_HEADER* GetHeader() const {
                   ^

cc-1287 CC: ERROR File = strngs.h, Line = 119
  A type qualifier on this function is not allowed.

      inline const STRING_HEADER* GetHeader() const {
                                              ^

cc-1285 CC: ERROR File = strngs.h, Line = 119
  An overload function cannot be distinguished by the return type alone.

      inline const STRING_HEADER* GetHeader() const {
                                  ^

cc-1020 CC: ERROR File = strngs.h, Line = 125
  The identifier "STRING_HEADER" is undefined.

        return ((char *)data_) + sizeof(STRING_HEADER);
                                        ^

cc-1287 CC: ERROR File = strngs.h, Line = 128
  A type qualifier on this function is not allowed.

      inline const char* GetCStr() const {
                                   ^

cc-1285 CC: ERROR File = strngs.h, Line = 128
  An overload function cannot be distinguished by the return type alone.

      inline const char* GetCStr() const {
                         ^

cc-1020 CC: ERROR File = strngs.h, Line = 129
  The identifier "STRING_HEADER" is undefined.

        return ((const char *)data_) + sizeof(STRING_HEADER);
                                              ^

cc-1287 CC: ERROR File = strngs.h, Line = 131
  A type qualifier on this function is not allowed.

      inline bool InvariantOk() const {
                                ^

cc-1287 CC: ERROR File = strngs.h, Line = 145
  A type qualifier on this function is not allowed.

      void FixHeader() const;  // make used_ non-negative, even if const
                       ^

cc-1166 CC: ERROR File = strngs.h, Line = 149
  Expected a declaration.

  };
  ^

cc-1020 CC: ERROR File = params.h, Line = 94
  The identifier "STRING" is undefined.

                                 STRING *value);
                                 ^

cc-1271 CC: ERROR File = params.h, Line = 164
  An operator is expected at this point.

    operator STRING &() { return value_; }
             ^

cc-1065 CC: ERROR File = params.h, Line = 164
  A semicolon is expected at this point.

    operator STRING &() { return value_; }
                    ^

cc-1012 CC: WARNING File = params.h, Line = 169
  Parsing restarts here after previous syntax error.

    STRING value_;
                 ^

cc-1020 CC: ERROR File = params.h, Line = 159
  The identifier "value_" is undefined.

      value_ = value;
      ^

cc-1007 CC: ERROR File = strngs.h, Line = 1
  The indicated token is not valid in this context.

  /**********************************************************************
  ^

cc-1166 CC: ERROR File = strngs.h, Line = 1
  Expected a declaration.

  /**********************************************************************
  ^

cc-1007 CC: ERROR File = strngs.h, Line = 1
  The indicated token is not valid in this context.

  /**********************************************************************
   ^

cc-1007 CC: ERROR File = strngs.h, Line = 1
  The indicated token is not valid in this context.

  /**********************************************************************
    ^

cc-1012 CC: WARNING File = unicharmap.h, Line = 48
  Parsing restarts here after previous syntax error.

    UNICHAR_ID unichar_to_id(const char* const unichar_repr, int length) const;
                                                                              ^

cc-1287 CC: ERROR File = unicharmap.h, Line = 52
  A type qualifier on this function is not allowed.

    bool contains(const char* const unichar_repr) const;
                                                  ^

cc-1287 CC: ERROR File = unicharmap.h, Line = 57
  A type qualifier on this function is not allowed.

    bool contains(const char* const unichar_repr, int length) const;
                                                              ^


Top
 Profile  
 
Unread postPosted: Tue Feb 21, 2012 8:42 am 
Offline
User avatar

Joined: Mon Oct 27, 2003 6:22 pm
Posts: 537
Location: Jakobstad, Finland
Surely you noticed the high ascii junk at the beginning of the line?

_________________
:Octane: halo, octane
N.B.: I tend to talk out of my ass. Do not take it too seriously.


Top
 Profile  
 
Unread postPosted: Tue Feb 21, 2012 8:54 am 
Offline

Joined: Tue Sep 21, 2010 3:31 pm
Posts: 303
Location: Southwestern Ontario, Canada
duck wrote:
Surely you noticed the high ascii junk at the beginning of the line?

Actually, I hadn't. The garbage didn't show up in vi, when I looked at the source on my Octane yesterday. Also, 'head strngs.h' shows:

Code:
/**********************************************************************
 * File:        strngs.h  (Formerly strings.h)
 * Description: STRING class definition.
 * Author:               Ray Smith
 * Created:               Fri Feb 15 09:15:01 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

And that looks just fine to me! So I couldn't figure out why MIPS Pro was complaining about what appeared to be a comment at the start of the file. But looking again with either 'less' or 'od -c', there are indeed 3 weird bytes at the start of the file---even in the tarball I freshly download. (So it's not hamei's fault! They are in the original source.) Getting rid of those 3 bytes should fix the MIPS Pro issue.

EDIT: Just realized those bytes are the UTF-8 BOM (http://en.wikipedia.org/wiki/Byte_order_mark). Perhaps MIPS Pro doesn't like Unicode source files.

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000


Top
 Profile  
 
Unread postPosted: Tue Feb 21, 2012 10:04 am 
Offline
User avatar

Joined: Mon Oct 27, 2003 6:22 pm
Posts: 537
Location: Jakobstad, Finland
jpstewart wrote:
duck wrote:
Surely you noticed the high ascii junk at the beginning of the line?

Actually, I hadn't. The garbage didn't show up in vi, when I looked at the source on my Octane yesterday. Also, 'head strngs.h' shows:

-snip-

And that looks just fine to me! So I couldn't figure out why MIPS Pro was complaining about what appeared to be a comment at the start of the file. But looking again with either 'less' or 'od -c', there are indeed 3 weird bytes at the start of the file---even in the tarball I freshly download. (So it's not hamei's fault! They are in the original source.) Getting rid of those 3 bytes should fix the MIPS Pro issue.

EDIT: Just realized those bytes are the UTF-8 BOM (http://en.wikipedia.org/wiki/Byte_order_mark). Perhaps MIPS Pro doesn't like Unicode source files.


Ouch. Yes, it's no wonder mipspro choked on it.

_________________
:Octane: halo, octane
N.B.: I tend to talk out of my ass. Do not take it too seriously.


Top
 Profile  
 
Unread postPosted: Wed Feb 22, 2012 11:03 pm 
Offline

Joined: Tue Feb 24, 2004 5:10 pm
Posts: 9693
duck wrote:
Surely you noticed the high ascii junk at the beginning of the line?

Grandma, what sharp eyes you have ! :shock:

My excuse is, when you deal with files that have dbcs stuffed into them all the time, junk becomes something you mentally pass over ... erfing Unicode source files, great idea.

Anyway, that's a better excuse than "the dog ate it" :oops:

thanks !

Moving right along ...
Code:
cc-1020 CC: ERROR File = svutil.cpp, Line = 89
  The identifier "fork" is undefined.

    int pid = fork();
              ^

cc-1020 CC: ERROR File = svutil.cpp, Line = 119
  The identifier "execvp" is undefined.

      execvp(executable, argv);
      ^

cc-1070 CC: ERROR File = svutil.cpp, Line = 227
  The indicated type is incomplete.

      struct timeval tv;
                     ^

cc-1020 CC: ERROR File = svutil.cpp, Line = 236
  The identifier "select" is undefined.

      int i = select(stream_+1, &readfds, NULL, NULL, &tv);
              ^

cc-1020 CC: ERROR File = svutil.cpp, Line = 262
  The identifier "close" is undefined.

    close(stream_);
    ^

cc-1020 CC: ERROR File = svutil.cpp, Line = 417
  The identifier "sleep" is undefined.

        sleep(1);
        ^

6 errors detected in the compilation of "svutil.cpp".

MIPSPro C++ disagreement ?

Edit : Okay le, building without graphics ( --disable-graphics) gets around this problem by not trying to build the viewer, which we don't want anyhow. Now we crash at

Code:
cc-1020 CC: ERROR File = /usr/nekoware/include/leptonica/environ.h, Line = 77
  The identifier "intptr_t" is undefined.

  typedef intptr_t l_intptr_t;
          ^

cc-1020 CC: ERROR File = /usr/nekoware/include/leptonica/environ.h, Line = 78
  The identifier "uintptr_t" is undefined.

  typedef uintptr_t l_uintptr_t;
          ^

cc-1132 CC: ERROR File = svshowim.cpp, Line = 37
  The class "ScrollView" has no member "Image".

    window->Image(pix, xpos, window->TranslateYCoordinate(yext) + ypos);
            ^

cc-1132 CC: ERROR File = svshowim.cpp, Line = 37
  The class "ScrollView" has no member "TranslateYCoordinate".

    window->Image(pix, xpos, window->TranslateYCoordinate(yext) + ypos);
                                     ^

4 errors detected in the compilation of "svshowim.cpp".


Tried building version 2.04 which is earlier, thought it might work better back when everybody was more primitive but no such luck, same problems :(

@ jp : you said it built for you with gcc. Does it work well ? If it's not better than gocr this is all wasted effort, 'cuz gocr builds right out of the box and works reasonably well.


Top
 Profile  
 
Unread postPosted: Wed Feb 22, 2012 11:57 pm 
Offline
User avatar

Joined: Sun Mar 18, 2007 3:25 pm
Posts: 1893
Location: Minneapolis, Minnesota USA
Looks like he's typedefing a typedef, which seems pretty retarded. Evidently MIPSPro is getting to the typedefed typedef before the original typedef was made to a defined type. Unfortunately my Octane is still down for upgrades or I'd be looking at it right now... :x

_________________
Project:
Temporarily lost at sea...
Plan:
World domination! Or something...


Top
 Profile  
 
Unread postPosted: Thu Feb 23, 2012 4:16 am 
Offline
Moderator
Moderator
User avatar

Joined: Tue Nov 25, 2003 1:09 pm
Posts: 799
Location: Europe
The first batch of errors is due to missing #includes:
Code:
#include <unistd.h>
#include <sys/select.h>
#include <sys/time.h>

and probably some more ...

The second batch is either what vishnu said or a missing "#include <inttypes.h>" (also try "#include <sys/types.h>" if that one doesn't work).


Top
 Profile  
 
Unread postPosted: Thu Feb 23, 2012 4:50 am 
Offline

Joined: Tue Feb 24, 2004 5:10 pm
Posts: 9693
ShadeOfBlue wrote:
The first batch of errors is due to missing #includes:
Code:
#include <unistd.h>
#include <sys/select.h>
#include <sys/time.h>

and probably some more ...

No, those were enough. Thanks !

Quote:
The second batch is either what vishnu said or a missing "#include <inttypes.h>" (also try "#include <sys/types.h>" if that one doesn't work).

Added both includes (one at a time, collectively and individually, no joy :(
Code:
source='svshowim.cpp' object='svshowim.lo' libtool=yes \
DEPDIR=.deps depmode=sgi /bin/ksh ../config/depcomp \
/bin/ksh ../libtool --tag=CXX   --mode=compile CC -DHAVE_CONFIG_H -I. -I..  -I../ccutil -I../viewer -I/usr/nekoware/include/leptonica  -mips4 -O3 -c99 -I/usr/nekoware/include -I/usr/include -c -o svshowim.lo svshowim.cpp
libtool: compile:  CC -DHAVE_CONFIG_H -I. -I.. -I../ccutil -I../viewer -I/usr/nekoware/include/leptonica -mips4 -O3 -c99 -I/usr/nekoware/include -I/usr/include -c svshowim.cpp -Wp,-MDupdate,.deps/svshowim.TPlo  -DPIC -o .libs/svshowim.o
cc-1035 CC: WARNING File = /usr/include/stdint.h, Line = 5
  #error directive:  This header file is to be used only for c99 mode
          compilations

  #error This header file is to be used only for c99 mode compilations
   ^

cc-1020 CC: ERROR File = /usr/nekoware/include/leptonica/environ.h, Line = 77
  The identifier "intptr_t" is undefined.

  typedef intptr_t l_intptr_t;
          ^

cc-1020 CC: ERROR File = /usr/nekoware/include/leptonica/environ.h, Line = 78
  The identifier "uintptr_t" is undefined.

  typedef uintptr_t l_uintptr_t;
          ^

2 errors detected in the compilation of "svshowim.cpp".

One interesting feature is the warning about c99 headers when the command does specifically have the -c99 option ? That's just a point of interest tho, the two errors seem to be the hangup at the moment.

I hope this app works well because it's a heck of a lot more bother than gocr !

thanks to all ...


Top
 Profile  
 
Unread postPosted: Thu Feb 23, 2012 9:08 am 
Offline
User avatar

Joined: Thu Nov 24, 2005 10:11 am
Posts: 217
Location: Aguascalientes, Mexico
sometimes the -c99 options does not works. I prefer to use the command c99 for builds, rather than cc.

_________________
__Zacatito__Image 600 MHZ R14000; 17GBytes HD
__Nopalito__Image 200 MHZ R5000; 9GBytes HD
Guadalajara, Jal and Aguascalientes, Ags
Mexico


Top
 Profile  
 
Unread postPosted: Thu Feb 23, 2012 9:17 am 
Offline
User avatar

Joined: Mon Oct 27, 2003 6:22 pm
Posts: 537
Location: Jakobstad, Finland
Hmm, you're compiling C++ code, -c99 will have no effect. Perhaps you should try to replace stdint.h it with inttypes.h?

_________________
:Octane: halo, octane
N.B.: I tend to talk out of my ass. Do not take it too seriously.


Top
 Profile  
 
Unread postPosted: Thu Feb 23, 2012 9:32 am 
Offline
User avatar

Joined: Sun Mar 18, 2007 3:25 pm
Posts: 1893
Location: Minneapolis, Minnesota USA
intptr_t is a c99 thing defined in inttypes.h, which must be where you're getting the #error This header file is to be used only for c99 mode compilations. Much as I hate to say it you probably have to cut and past the intptr_t definition from inttypes.h into the svshowim.cpp (or svshowim.h).

c++ is supposed to start supporting some of this c99 stuff, probably compilers that are maintained, which is to say, not MIPSPro, already do:

http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=223

_________________
Project:
Temporarily lost at sea...
Plan:
World domination! Or something...


Top
 Profile  
 
Unread postPosted: Thu Feb 23, 2012 2:08 pm 
Offline

Joined: Tue Sep 21, 2010 3:31 pm
Posts: 303
Location: Southwestern Ontario, Canada
hamei wrote:
@ jp : you said it built for you with gcc. Does it work well ? If it's not better than gocr this is all wasted effort, 'cuz gocr builds right out of the box and works reasonably well.

It builds (after adding the 3 #includes that ShadeOfBlue mentioned). It seems to run. But I'm not really in a position to test it out at the moment, and I certainly can't compare it with gocr. I just threw GCC at the tesseract source and let it run in the background while doing some other stuff.... (It took ~45 minutes to build on my 2x250MHz Octane.) "It builds & runs", is all I can say. (That was with the graphics enabled, BTW.)

I'd package it and post it here if I could, but it's linked with some libraries I've got installed in non-standard places so it's unlikely to work for you.

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000


Top
 Profile  
 
Unread postPosted: Sat Feb 25, 2012 12:13 am 
Offline

Joined: Tue Feb 24, 2004 5:10 pm
Posts: 9693
jpstewart wrote:
I certainly can't compare it with gocr.

Just for a reference, here's what gocr 0.49 can do :

(have to use imgview to convert to ppm)
Attachment:
ocrtest.jpg
ocrtest.jpg [ 73.01 KiB | Viewed 506 times ]


and here's the resulting file :
Code:
urchin 4% gocr results testocr.ppm
:Offer  131462
hpplied Materials

h _ T NANOSEM 3D for 12 '' / 300 mm

List all items of this typeCritical Dimension Scanning Electron Microscopes
in Microscopes
1                [Click for Picture]
Applied Materials NANOSEM 3D Applied Materials NANOSEM 3D
Serial Nu ni er: U-585
Equipment Code: MES333-04
1 A _ T Nano CD-SEM3D with speed upgrade
(FUEL Workstation of Silicon Graphics),
Makro-CD,
200 mm and 300 mm capable

3 lOadpOCti_S ADO, 25 SlOtS,
12 inch,
F/w: ADo o o o 2o 92
D _ autofocus sensor
z-stage with ring support for 300 nm wafers
FUEL-Workstation,
100 _ z,
ZP35 Processor,
2GB _ m,
Graphics Board V12

UPS: Powerware PLUS 18, S/N: FS265AOO08
NanoSEM (upgraded from VeraSEM to NanoSEM)
ZP with MacroCD

Workstation: UNZX ZRZX 6 5
hpplication: 14.3.2CR
ZP: XP SP1, Appl.Version 11.1 O 1
_ C: NT 4.OO 1381, Globals Server Appl.Ver11 1 O 1,
WsON__C: Ver14 3 2

mEc: NT 4 OO 1381
Globals Server Appl  Ver.11 1.O 1,
NT Stage Module Server Appl  Ver.11 6 O 9,
ws ON OM Controller,
hppl. VeraSem-3D,
Ver.12 1 O 6


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group