Function 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
C
 ccGetAndLabelConnectedComponentsBBox
 ccGetConnectedComponentsBBox
 ccLabelConnectedComponents
 column
 columnGetPageColumns
 columnIsColumnSeparator
 columnQuality
 columnSplitImageByColumns
 convertImage
 convertIplImage
 convolution
H
 HitMiss, HitMissElement
 hitMissCircle, HitMissElement
 hitMissElement, HitMissElement
 hitMissElement2, HitMissElement
 hitMissElementDelete, HitMissElement
 hitMissRectangle, HitMissElement
I
 image, Image
 imageClone, Image
 imageDelete, Image
 imageDrawRect, Image
 imageGet, Image
 imageGrayGet, Image
 imageGraySet, Image
 imageReadPGM, Image
 imageSavePGM, Image
 imageSet, Image
 imgRLSAH
K
 kernel, Kernel
 kernelDelete, Kernel
R
 rect
 rectArea
 rectClosest
 rectCopy
 rectDelete
 rectDistance
 rectFilter
 rectIntersects
 rectIsValid
 rectMaximalWhiteRectangles
 rectPointInside
 rectPQDelete
 rectPQEnqueue
 rectPQGet
 rectPQUpdate
 rectPrint
 rectRectInside
S
 skewDetectAvilaLins
 skewDetectGatos
U
 UFFind
 UFJoin
 UFNew
Rect *ccGetAndLabelConnectedComponentsBBox(Image *img,
Matrix **rectMatrix)
Extract the connected components’ boxes from the image and builds a mtr that ‘labels’ the components, giving fast access to a pixels’ corresponding Rect.
Rect *ccGetConnectedComponentsBBox(Image *img)
Extract the connected components’ boxes from the image.
Matrix *ccLabelConnectedComponents(Image *img,
int *num_components)
Label the connected components of an image using a UnionFind approach.
Column *column(int x1,
int y1,
int x2,
int y2,
Column *next)
Creates a new Column
Column *columnGetPageColumns(Image *img,
Rect *characters,
int n_tries,
double (*quality) (Rect *r),
int (*columnClassifier) (Rect *, Rect *))
Finds at maximum n_tries from the page.
int columnIsColumnSeparator(Rect *r,
Rect *characters)
Checks if a Rect is a column separator.
double columnQuality(Rect *r)
Returns a quality to use with the rectMaximalWhiteRectangles.
Image **columnSplitImageByColumns(Image *img,
Column *col,
int *n_sections)
Split the image in separate column images.
IplImage *convertImage(Image *img)
Converts an Image to the IplImage used in OpenCV.
Image *convertIplImage(IplImage *img)
Converts an IplImage to the Image type of smartreader.
void convolution(Image *img,
Kernel *k)
Does the convolution of the image img with the Kernel k
void HitMiss(Image *src,
Image *dest,
HitMissElement *se)
Do the HitMiss operation in a 8-bit unsigned binary image.
HitMissElement *hitMissCircle(int radius)
Create a circular structuring element with the specified radius
HitMissElement *hitMissElement(Matrix *m)
Creates a new HitMissElement.
HitMissElement *hitMissElement2(Matrix *m,
int anchorx,
int anchory)
Creates a new HitMissElement with a pre defined center.
void hitMissElementDelete(HitMissElement *se)
Creates a new HitMissElement.
HitMissElement *hitMissRectangle(int w,
int h)
Create a rectangular structuring element
Image *image(int width,
int height,
int n_channels)
Creates a new image
Image *imageClone(Image *img)
Returns a clone of img.
void imageDelete(Image *img)
Delete the image
void imageDrawRect(Image *img,
Rect *r,
Color color,
int filled)
Draws all the Rects in a IplImage using color.
int imageGet(Image *img,
int i,
int j,
int n)
Gets the value at position i, j from a the n-th channel of the image.
int imageGrayGet(Image *img,
int i,
int j)
Gets the value at position i, j from a gray image.If the parameters are invalid returns 0.
void imageGraySet(Image *img,
int i,
int j,
int value)
Sets the value at position i, j from a gray image
Image *imageReadPGM(char *path)
Reads a PGM image from path.
void imageSavePGM(Image *img,
char *path)
Save an image to the file system
void imageSet(Image *img,
int i,
int j,
int n,
int value)
Sets the value at position i, j in the n-th channel of an image
void imgRLSAH(Image *img,
int C)
Do a horizontal run-lenght smoothing algorithm
Kernel *kernel(Matrix *values,
int anchorx,
int anchory)
Creates a new kernel to be used with a convolution or hit and miss operation.
void kernelDelete(Kernel *k)
Deletes a kernel created by another function
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
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
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
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.
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
Close