#define START_MAIN {200,200}
#define MIN_COLUMNS 6
#define INTERESTING_COLUMNS 6
+#define TEXT_COLUMNS 2
#define MAX_COLUMNS 7
static Rect mainr = { START_MAIN,START_MAIN };
static int commbasey, comminty;
static int colrightx[INTERESTING_COLUMNS];
-
+static int text_h;
+static OcrReader *rd;
static const CanonColourInfo canoncolourinfos[]= {
{ 0x475A5E, '*' }, /* edge */
across.x++;
}
eassert(colno >= MIN_COLUMNS);
+
+ text_h = comminty - 1;
}
static void find_commodity(int offset, Rect *rr) {
debug_flush();
}
-static void ocr_rectangle(Rect r) {
+static void ocr_rectangle(Rect r, const OcrCellType ct) {
OcrResultGlyph *results, *res;
int w= r.br.x - r.tl.x + 1;
- int h= r.br.y - r.tl.y + 1;
Pixcol cols[w+1];
int x,y;
for (x=0; x<w; x++) {
Pixcol cx, rv;
- for (y=0, cx=0, rv=1; y<h; y++, rv<<=1) {
+ for (y=0, cx=0, rv=1; y<text_h; y++, rv<<=1) {
switch (get(x+r.tl.x, y+r.tl.y)) {
case ' ': break;
case 'o': cx |= rv; break;
}
cols[w]= 0;
- results= ocr(w,h,cols);
+ results= ocr(rd,ct,w,cols);
printf("YES! \"");
- for (res=0; res->s; res++)
+ for (res=results; res->s; res++)
printf("%s",res->s);
printf("\"\n");
eassert(!ferror(stdout));
Rect thisr, entryr;
int tryrect, colno;
- ocr_init();
load_image_and_canonify();
find_structure();
+ rd= ocr_init(text_h);
for (tryrect= +height; tryrect >= -height; tryrect--) {
find_commodity(tryrect, &thisr);
for (colno=0; colno<MIN_COLUMNS; colno++) {
find_table_entry(thisr,colno,&entryr);
- ocr_rectangle(entryr);
+ ocr_rectangle(entryr,
+ colno<TEXT_COLUMNS
+ ? &ocr_celltype_text
+ : &ocr_celltype_number);
}
}
return 0;
}
+
+const char *get_vardir(void) { return "."; }