00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019
00020
00021
00022 #ifndef _GOCR_INTERNAL_H
00023 #define _GOCR_INTERNAL_H
00024
00025
00026
00027 #include <stdio.h>
00028 #include "gocr_module.h"
00029 #include "list.h"
00030
00031 00032 00033
00034 #define _gocr_debug(level, command) if ( level <= _data.verbose ) { command }
00035
00036 00037 00038
00039 struct _gocr_data {
00040 int verbose;
00041 int block_overlap;
00042 int no_block;
00043 FILE *error;
00044 int print;
00045 int print_image;
00046 };
00047 typedef struct _gocr_data _gocr_Data;
00048
00049 extern _gocr_Data _data;
00050 extern gocrBlock *currentblock;
00051 extern gocrBox *currentbox;
00052
00053
00054 00055 00056
00057 extern int _gocr_initModule ( void );
00058 extern void _gocr_endModule ( void );
00059
00060 extern int _gocr_initBlock ( void );
00061 extern void _gocr_endBlock ( void );
00062
00063 extern int _gocr_initUnicode ( void );
00064 extern void _gocr_endUnicode ( void );
00065
00066 00067 00068
00069 extern int _gocr_imageSharedCopy ( gocrImage *orig, int x0, int y0, int x1, int y1,
00070 gocrImage *new );
00071 extern int _gocr_imageCopy ( gocrImage *orig, int x0, int y0, int x1, int y1,
00072 gocrImage *new );
00073 extern void _gocr_fixParameters ( int *x0, int *x1, int *y0, int *y1 );
00074
00075 extern int otsu ( gocrImage *image, void *v );
00076
00077 #endif