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< QVPolyline > | 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. | |
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 } |
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).
img | source image to obtain sorted lists of QPoints. |
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.
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.
image | image from were to obtain the poly-lines. | |
threshold | threshold to consider pixels inside or outside the connected sets. |
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.
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. |
Definition at line 113 of file qvcontour.cpp.
References getBorderContourThresholdFromBorderPoint(), QVGenericImage::getROI(), QVIMAGE_INIT_READ, and QVIMAGE_PIXEL.