Tesseract  3.02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tesseract::CubeClassifier Class Reference

#include <cubeclassifier.h>

Inheritance diagram for tesseract::CubeClassifier:
tesseract::ShapeClassifier

Public Member Functions

 CubeClassifier (Tesseract *tesseract)
 
virtual ~CubeClassifier ()
 
virtual int ClassifySample (const TrainingSample &sample, Pix *page_pix, int debug, int keep_this, GenericVector< ShapeRating > *results)
 
virtual const ShapeTableGetShapeTable () const
 
- Public Member Functions inherited from tesseract::ShapeClassifier
virtual ~ShapeClassifier ()
 

Detailed Description

Definition at line 37 of file cubeclassifier.h.

Constructor & Destructor Documentation

tesseract::CubeClassifier::CubeClassifier ( tesseract::Tesseract tesseract)
explicit

Definition at line 35 of file cubeclassifier.cpp.

36  : cube_cntxt_(tesseract->GetCubeRecoContext()),
37  shape_table_(*tesseract->shape_table()) {
38 }
CubeRecoContext * GetCubeRecoContext()
const ShapeTable * shape_table() const
Definition: classify.h:66
tesseract::CubeClassifier::~CubeClassifier ( )
virtual

Definition at line 39 of file cubeclassifier.cpp.

39  {
40 }

Member Function Documentation

int tesseract::CubeClassifier::ClassifySample ( const TrainingSample sample,
Pix *  page_pix,
int  debug,
int  keep_this,
GenericVector< ShapeRating > *  results 
)
virtual

Implements tesseract::ShapeClassifier.

Definition at line 44 of file cubeclassifier.cpp.

46  {
47  results->clear();
48  if (page_pix == NULL) return 0;
49 
50  ASSERT_HOST(cube_cntxt_ != NULL);
51  const TBOX& char_box = sample.bounding_box();
52  CubeObject* cube_obj = new tesseract::CubeObject(
53  cube_cntxt_, page_pix, char_box.left(),
54  pixGetHeight(page_pix) - char_box.top(),
55  char_box.width(), char_box.height());
56  CharAltList* alt_list = cube_obj->RecognizeChar();
57  alt_list->Sort();
58  CharSet* char_set = cube_cntxt_->CharacterSet();
59  if (alt_list != NULL) {
60  for (int i = 0; i < alt_list->AltCount(); ++i) {
61  // Convert cube representation to a shape_id.
62  int alt_id = alt_list->Alt(i);
63  int unichar_id = char_set->UnicharID(char_set->ClassString(alt_id));
64  int shape_id = shape_table_.FindShape(unichar_id, -1);
65  if (shape_id >= 0)
66  results->push_back(ShapeRating(shape_id, alt_list->AltProb(i)));
67  }
68  delete alt_list;
69  }
70  delete cube_obj;
71  return results->size();
72 }
virtual void clear()
int UnicharID(const char_32 *str) const
Definition: char_set.h:80
Definition: cluster.h:32
#define NULL
Definition: host.h:144
inT16 left() const
Definition: rect.h:67
inT16 width() const
Definition: rect.h:104
Definition: rect.h:29
int push_back(T object)
CharAltList * RecognizeChar()
inT16 top() const
Definition: rect.h:53
int size() const
Definition: genericvector.h:59
CharSet * CharacterSet() const
int FindShape(int unichar_id, int font_id) const
Definition: shapetable.cpp:290
#define ASSERT_HOST(x)
Definition: errcode.h:84
inT16 height() const
Definition: rect.h:97
const ShapeTable * tesseract::CubeClassifier::GetShapeTable ( ) const
virtual

Implements tesseract::ShapeClassifier.

Definition at line 75 of file cubeclassifier.cpp.

75  {
76  return &shape_table_;
77 }

The documentation for this class was generated from the following files: