Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
R
 rect
 Rect
 Rect coordinates, Rect
 Rect Functions
 Rect Type Definitions
 rectArea
 rectClosest
 rectCopy
 rectDelete
 rectDistance
 rectFilter
 rectIntersects
 rectIsValid
 rectMaximalWhiteRectangles
 rectPointInside
 RectPQ
 rectPQDelete
 rectPQEnqueue
 rectPQGet
 rectPQUpdate
 rectPrint
 rectRectInside
 Rects, RectPQ
 right, Rect
 ROI, Image
S
 Skew estimation
 skewDetectAvilaLins
 skewDetectGatos
T
 top, Rect
U
 UFFind
 UFJoin
 UFNew
 UnionFind algorithm for connected component labelling
V
 Variables
W
 w, Image
Rect *rect(int x1,
int y1,
int x2,
int y2,
double fill,
Rect *next)
Creates a new Rect or adds a new Rect to a list
The Rect type is a list of Rectangles
double rectArea(Rect *r)
Returns the area of the Rect.
Rect *rectClosest(Rect *r,
int x,
int y)
Returns the closest Rect to the (x, y) point
Rect *rectCopy(Rect *r)
Makes a copy of a Rect
void rectDelete(Rect *r)
Frees the memory used by a Rect
double rectDistance(Rect *r1,
Rect *r2)
Returns the between two Rects
Rect *rectFilter(Rect *r,
int criteria,
double min,
double max)
Filter the Rects on the list based on a criteria.
int rectIntersects(Rect *r1,
Rect *r2)
Check if the Rects intersect each other
int rectIsValid(Rect *r)
Checks if the Rect is valid (left < right and top < bottom)
Rect *rectMaximalWhiteRectangles(Rect *bound,
Rect *obstacles,
int N,
double (*quality)(Rect *r))
An implementation of the algorithm described in “T.
int rectPointInside(Rect *r,
int x,
int y)
Checks if the passed point is inside the Rect
A priority queue of Rectangles used in the maximal white rectangles function.
void rectPQDelete(RectPQ *pq)
Delete the priority queue
RectPQ *rectPQEnqueue(RectPQ *pq,
Rect *bound,
Rect *obstacles,
double quality)
Enqueue a triple of bound, obstacles and quality
RectPQ *rectPQGet(RectPQ *pq,
Rect **bound,
Rect **obstacles,
double *q)
Get the best element of the queue
RectPQ *rectPQUpdate(RectPQ *pq,
Rect *new)
For every element, add new to the obstacles list if new intersects bound
void rectPrint(char *msg,
Rect *r)
Prints all the Rects in r preceded by msg
int rectRectInside(Rect *r,
Rect *r2)
Checks if a Rect is inside another
x coordinate of the bottom-right corner
Rect *ROI
Region of interest on the image.
double skewDetectAvilaLins(Image *img)
Detects the skew of a document page using the technice described in Ávila B.T., Lins R.D., “A Fast Orientation and Skew Detection Algorithm for Monochromatic Document Images”.
double skewDetectGatos(Image *img,
double max_skew)
Detects the skew of a document page using the technice described in B.
y coordinate of the top-left corner
int UFFind(UF *set,
int a)
Finds the top-most parent of the element a.
UF *UFJoin(UF *set,
int a,
int b)
Creates the structure to use the unionfind algorithm
UF *UFNew(int max_sets)
Creates the structure to use the unionfind algorithm
int w
Width of the image
Close