/home/rays/src/opensrc/tesseract-ocr/ccstruct/seam.h File Reference

#include "blobs.h"
#include "split.h"
#include "tessarray.h"

Go to the source code of this file.

Classes

struct  seam_record

Typedefs

typedef float PRIORITY
typedef struct seam_record SEAM
typedef ARRAY SEAMS

Functions

SEAMnewseam ()

clone_seam

Create a new seam record and copy the contents of this seam into it.



#define clone_seam(dest, source)
#define exact_point(p1, p2)   (! ((p1->pos.x - p2->pos.x) || (p1->pos.y - p2->pos.y)))
bool point_in_split (SPLIT *split, EDGEPT *point1, EDGEPT *point2)
bool point_in_seam (SEAM *seam, SPLIT *split)
bool point_used_by_split (SPLIT *split, EDGEPT *point)
bool point_used_by_seam (SEAM *seam, EDGEPT *point)
SEAMS add_seam (SEAMS seam_list, SEAM *seam)
void combine_seams (SEAM *dest_seam, SEAM *source_seam)
void delete_seam (void *arg)
SEAMS start_seam_list (TBLOB *blobs)
void free_seam_list (SEAMS seam_list)
bool test_insert_seam (SEAMS seam_list, int index, TBLOB *left_blob, TBLOB *first_blob)
SEAMS insert_seam (SEAMS seam_list, int index, SEAM *seam, TBLOB *left_blob, TBLOB *first_blob)
int account_splits_right (SEAM *seam, TBLOB *blob)
int account_splits_left (SEAM *seam, TBLOB *blob, TBLOB *end_blob)
void account_splits_left_helper (SEAM *seam, TBLOB *blob, TBLOB *end_blob, inT32 *depth, inT8 *width, inT8 *found_em)
bool find_split_in_blob (SPLIT *split, TBLOB *blob)
SEAMjoin_two_seams (SEAM *seam1, SEAM *seam2)
SEAMnew_seam (PRIORITY priority, const TPOINT &location, SPLIT *split1, SPLIT *split2, SPLIT *split3)
SEAMS new_seam_list ()
void print_seam (const char *label, SEAM *seam)
void print_seams (const char *label, SEAMS seams)
int shared_split_points (SEAM *seam1, SEAM *seam2)
void break_pieces (TBLOB *blobs, SEAMS seams, inT16 start, inT16 end)
void join_pieces (TBLOB *piece_blobs, SEAMS seams, inT16 start, inT16 end)
void hide_seam (SEAM *seam)
void hide_edge_pair (EDGEPT *pt1, EDGEPT *pt2)
void reveal_seam (SEAM *seam)
void reveal_edge_pair (EDGEPT *pt1, EDGEPT *pt2)

Define Documentation

#define clone_seam ( dest,
source   ) 
Value:
if (source) {                                      \
  (dest) = newseam ();                             \
  (dest)->location = (source)->location;           \
  (dest)->widthp = (source)->widthp;               \
  (dest)->widthn = (source)->widthn;               \
  (dest)->priority = (source)->priority;           \
  clone_split ((dest)->split1, (source)->split1);  \
  clone_split ((dest)->split2, (source)->split2);  \
  clone_split ((dest)->split3, (source)->split3);  \
}                                                  \
else {                                             \
  (dest) = (SEAM*) NULL;                           \
}                                                  \
#define exact_point ( p1,
p2   )     (! ((p1->pos.x - p2->pos.x) || (p1->pos.y - p2->pos.y)))

exact_point

Return TRUE if the point positions are the exactly the same. The parameters must be of type (EDGEPT*).


Typedef Documentation

typedef float PRIORITY
typedef struct seam_record SEAM
typedef ARRAY SEAMS

Function Documentation

int account_splits_left ( SEAM seam,
TBLOB blob,
TBLOB end_blob 
)
void account_splits_left_helper ( SEAM seam,
TBLOB blob,
TBLOB end_blob,
inT32 depth,
inT8 width,
inT8 found_em 
)
int account_splits_right ( SEAM seam,
TBLOB blob 
)
SEAMS add_seam ( SEAMS  seam_list,
SEAM seam 
)
void break_pieces ( TBLOB blobs,
SEAMS  seams,
inT16  start,
inT16  end 
)
void combine_seams ( SEAM dest_seam,
SEAM source_seam 
)
void delete_seam ( void *  arg  ) 
bool find_split_in_blob ( SPLIT split,
TBLOB blob 
)
void free_seam_list ( SEAMS  seam_list  ) 
void hide_edge_pair ( EDGEPT pt1,
EDGEPT pt2 
)
void hide_seam ( SEAM seam  ) 
SEAMS insert_seam ( SEAMS  seam_list,
int  index,
SEAM seam,
TBLOB left_blob,
TBLOB first_blob 
)
void join_pieces ( TBLOB piece_blobs,
SEAMS  seams,
inT16  start,
inT16  end 
)
SEAM* join_two_seams ( SEAM seam1,
SEAM seam2 
)
SEAM* new_seam ( PRIORITY  priority,
const TPOINT location,
SPLIT split1,
SPLIT split2,
SPLIT split3 
)
SEAMS new_seam_list (  ) 
SEAM* newseam (  ) 
bool point_in_seam ( SEAM seam,
SPLIT split 
)
bool point_in_split ( SPLIT split,
EDGEPT point1,
EDGEPT point2 
)
bool point_used_by_seam ( SEAM seam,
EDGEPT point 
)
bool point_used_by_split ( SPLIT split,
EDGEPT point 
)
void print_seam ( const char *  label,
SEAM seam 
)
void print_seams ( const char *  label,
SEAMS  seams 
)
void reveal_edge_pair ( EDGEPT pt1,
EDGEPT pt2 
)
void reveal_seam ( SEAM seam  ) 
int shared_split_points ( SEAM seam1,
SEAM seam2 
)
SEAMS start_seam_list ( TBLOB blobs  ) 
bool test_insert_seam ( SEAMS  seam_list,
int  index,
TBLOB left_blob,
TBLOB first_blob 
)
Generated on Thu Feb 2 08:19:21 2012 for Tesseract by  doxygen 1.6.3