qvdta Namespace Reference


Classes

class  QVComponentTree
 This class can be used to create the component tree from a gray-scale image. More...
class  QVDisjointSet
 This class is an implementation of a disjoint-set data structure. More...
class  QVPolyline
 This class represents polylines. More...

Functions

void pruneLowComponentTreeAux (QVImage< uChar > &image, QVComponentTree &componentTree, uInt minArea, uInt node, uInt validThreshold)
void pruneHighComponentTreeAux (QVImage< uChar > &image, QVComponentTree &componentTree, uInt minArea, uInt node, uInt validThreshold)
void FilterComponentTreeSmallRegions (QVImage< uChar > &image, QVComponentTree &componentTree, uInt minArea)
QVPolyline getBorderContourThresholdFromBorderPoint (const QVImage< uChar > &image, const int startPointX, const int startPointY, const uChar threshold)
QVPolyline getBorderContourThreshold (const QVImage< uChar > &image, const QPoint point, const uChar threshold)
 Obtains the border contour of a connected set of pixels in an image, given a membership condition.
QList< QVPolylinegetBorderContoursThreshold (const QVImage< uChar > &image, const uChar threshold)
 Obtains a list of the border contours of the connected sets in an image, according to a membership condition.
QVector< QVector
< QPoint > > 
CountingSort (const QVImage< uChar, 1 > &img)
 Sorts pixels in an image, given their gray-scale value.
void HarrisCornerResponseImage (const QVImage< uChar > &image, QVImage< sFloat > &result)
void SobelCornerResponseImage (const QVImage< uChar > &image, QVImage< sFloat > &result)
void FilterLocalMax (const QVImage< sFloat > &src, QVImage< uChar > &dest, uInt colMaskSize, uInt rowMaskSize, sFloat threshold=0)
 Generates a binary image of local grey-scale maximal value pixels.
int myFloodFill (QVImage< uChar > &image, uInt x, uInt y, uInt value, uInt minVal, uInt maxVal)
QPoint linesIntersection (QPoint a, QPoint b, QPoint c, QPoint d)
void drawPoints (const QList< QPoint > &hotPoints, QVImage< uChar, 3 > &dest)
void drawPoints (const QList< QPoint > &hotPoints, QVImage< uChar > &dest)
void draw (QVImage< uChar > &image, const QVPolyline &polyline, const uChar constant, bool linked, bool safe)
void draw (QVImage< uChar, 3 > &image, const QVPolyline &polyline, const uChar constant[3], bool linked, bool safe)
void draw (QVImage< uChar > &img, const QList< QVPolyline > &polylineList, const uChar constant, bool linked, bool safe)
void draw (QVImage< uChar, 3 > &img, const QList< QVPolyline > &polylineList, const uChar constant[3], bool linked, bool safe)

Variables

const char coorX [8] = { 0, 1, 1, 1, 0, -1, -1, -1 }
const char coorY [8] = { -1, -1, 0, 1, 1, 1, 0, -1 }


Function Documentation

QVector< QVector< QPoint > > qvdta::CountingSort ( const QVImage< uChar, 1 > &  img  ) 

Sorts pixels in an image, given their gray-scale value.

This function obtains a QVector, that maps any gray-scale values (0..255) to the set of QPoints that hold that gray-scale value, in a given image. It can be used for very fast pixel sorting.

The function itself is based in Counting Sort algorithm , so the cost of this function is O(number_of_columns * number_of_rows).

Parameters:
img source image to obtain sorted lists of QPoints.
Returns:
A QVector, indexed by the gray-scale value (0-255), to a QVector of QPoints, containing the corresponding points to the pixels that hold that gray-scale value in the image.

Definition at line 30 of file qvdta.cpp.

References QVImage< Type, Planes >::getCols(), QVImage< Type, Planes >::getRows(), qvipp::HistogramRange(), QVIMAGE_INIT_READ, and QVIMAGE_PIXEL.

void qvdta::FilterLocalMax ( const QVImage< sFloat > &  src,
QVImage< uChar > &  dest,
uInt  colMaskSize,
uInt  rowMaskSize,
sFloat  threshold = 0 
)

Generates a binary image of local grey-scale maximal value pixels.

This function receives a QVImage, and generates a binary image where each pixel is set to IPP_MAX_8U if the pixel in the original image is strict maximal in value regarding to pixels in a vicinity window of colMaskSize width, and rowMaskSize height.

Parameters:
src source image.
dest binary image that will contain maximal values.
colMaskSize width of the vicinity.
rowMaskSize height of the vicinity.

Definition at line 93 of file qvdta.cpp.

References QVImage< Type, Planes >::getCols(), QVImage< Type, Planes >::getRows(), QVIMAGE_INIT_READ, QVIMAGE_INIT_WRITE, QVIMAGE_PIXEL, and qvipp::Set().

QList< QVPolyline > qvdta::getBorderContoursThreshold ( const QVImage< uChar > &  image,
const uChar  threshold 
)

Obtains a list of the border contours of the connected sets in an image, according to a membership condition.

This function gets the border contours for all of the connected sets of pixels in an image, using the function getContourThreshold, and returns them in a list of polylines (QList<QVPolyline>).

Thus, it considers every point inside a connected set, if it has a gray-level equal or higher than a given value.

Parameters:
image image from were to obtain the poly-lines.
threshold threshold to consider pixels inside or outside the connected sets.
Returns:
a QList of QVPolyline's that follows the border sets of the connected sets in the image.
See also:
getContourThreshold

Definition at line 133 of file qvcontour.cpp.

References draw(), getBorderContourThresholdFromBorderPoint(), QVImage< Type, Planes >::getCols(), QVGenericImage::getROI(), QVImage< Type, Planes >::getRows(), QVIMAGE_INIT_READ, QVIMAGE_INIT_WRITE, QVIMAGE_PIXEL, and qvipp::Set().

QVPolyline qvdta::getBorderContourThreshold ( const QVImage< uChar > &  image,
const QPoint  point,
const uChar  threshold 
)

Obtains the border contour of a connected set of pixels in an image, given a membership condition.

A contour is a sequence of pixels from an image, were every two contiguous pixels in the sequence are 8-neigbourhood in the image.

This function obtains the contour that depicts the border set of pixels in an image, for a connected set of pixels in it, given a membership condition.

For this border contour extractor function, the membership condition will be that pixels will be considered to be members of a connected if and only if their gray-scale value is equal or greater than a given threshold value.

The function implements an automata, that will receive an image and a starting point in its arguments, and will look for the closest border pixel to that point.

That border pixel will have a gray-level value equal or higher than a threshol value, given also in the arguments of the function, and will transverse the border of the set, appending every point that it finds in it in a QVPolyline object, that will be the returning value of the function.

Border contours obtained with this function can be either inner borders (corresponding to the border of an empty space inside the connected set) or the outer border of the connected set. The programer can tell wether a given border is inner or outer by the boolean value QVPolyline::direction, which will store TRUE for an outer contour, and FALSE for an inner contour.

Parameters:
image image from were to obtain the poly-line.
point any point inside the connected set.
threshold threshold to consider pixels inside or outside the connected set.
Returns:
a QVPolyline that follows the border set of the connected set.
See also:
getContoursThreshold

Definition at line 113 of file qvcontour.cpp.

References getBorderContourThresholdFromBorderPoint(), QVGenericImage::getROI(), QVIMAGE_INIT_READ, and QVIMAGE_PIXEL.


Generated on Thu Dec 13 13:06:27 2007 for QVision by  doxygen 1.5.3