![]() |
University of Murcia, Spain ![]() |
Computer VisionFunctions for computer vision.
More... |
Functions | |
void | CannyGetSize (const QVGenericImage &src, QVImage< uChar > &buffer) |
Allocates size in a buffer image for temporary data for function Canny. | |
void | MinEigenValGetBufferSize (const QVGenericImage &src, QVImage< uChar > &buffer, uInt apertureSize=5, uInt avgWindow=5) |
Allocates size in a buffer image for temporary data for function MinEigenValGet. | |
void | FloodFillGetSize (const QVGenericImage &src, QVImage< uChar > &buffer) |
Allocates size in a buffer image for temporary data for function family FloodFill. | |
void | MinEigenVal (const QVImage< uChar > &src, QVImage< sFloat > &dest, QVImage< uChar > &buffer, uInt apertureSize=3, uInt avgWindow=5, IppiKernelType kernel=ippKernelSobel, const QPoint &destROIOffset=QPoint(0, 0)) |
Calculates the minimal eigen value of image blocks for corner detection. | |
void | FastMarchingGetBufferSize (const QVGenericImage &image, QVImage< uChar > &buffer) |
Allocates size in a buffer image for temporary data for function FastMarching. | |
void | InpaintInitAllocC3 (IppiInpaintState_8u_C3R **pState, const QVImage< sFloat > &distances, const QVImage< uChar > &mask, const sFloat radius, const IppiInpaintFlag flag) |
void | InpaintFreeC3 (IppiInpaintState_8u_C3R *pState) |
void | InpaintInitAllocC1 (IppiInpaintState_8u_C1R **pState, const QVImage< sFloat > &distances, const QVImage< uChar > &mask, const sFloat radius, const IppiInpaintFlag flag) |
void | InpaintFreeC1 (IppiInpaintState_8u_C1R *pState) |
void | FloodFillRange4Connected (QVImage< uChar > &img, QVImage< uChar > &buffer, uInt seedX, uInt seedY, uChar newVal, uChar minDelta, uChar maxDelta) |
Performs flood filling of pixels with values in the specified range in the connected area on an image. | |
void | FloodFillGradient4Connected (QVImage< uChar > &img, QVImage< uChar > &buffer, uInt seedX, uInt seedY, uChar newVal, uChar minDelta, uChar maxDelta) |
Performs gradient flood filling of connected area on an image. | |
void | FindPeaks3x3 (const QVImage< sInt, 1 > &img, QVImage< uChar > &buffer, QList< QPoint > &points, sInt threshold, IppiNorm norm, uInt border, uInt maxPeakCount) |
Finds coordinates of peaks (maximums or minimums) with absolute value exceeding threshold value. | |
void | FindPeaks3x3 (const QVImage< sFloat, 1 > &img, QVImage< uChar > &buffer, QList< QPoint > &points, sFloat threshold, IppiNorm norm, uInt border, uInt maxPeakCount) |
Finds coordinates of peaks (maximums or minimums) with absolute value exceeding threshold value. | |
void | FindPeaks3x3GetBufferSize (const QVImage< sInt, 1 > &image, QVImage< uChar > &buffer) |
Computes the size of the working buffer for the peak search. | |
void | FindPeaks3x3GetBufferSize (const QVImage< sFloat, 1 > &image, QVImage< uChar > &buffer) |
Computes the size of the working buffer for the peak search. | |
void | Canny (QVImage< sShort, 1 > &qvimage_pSrcDx, QVImage< sShort, 1 > &qvimage_pSrcDy, QVImage< uChar, 1 > &qvimage_pDstEdges, const sFloat lowThresh, const sFloat highThresh, QVImage< uChar, 1 > &qvimage_pBuffer) |
Creates binary image of source's image edges, using derivatives of the first order. | |
void | Canny (QVImage< sFloat, 1 > &qvimage_pSrcDx, QVImage< sFloat, 1 > &qvimage_pSrcDy, QVImage< uChar, 1 > &qvimage_pDstEdges, const sFloat lowThresh, const sFloat highThresh, QVImage< uChar, 1 > &qvimage_pBuffer) |
Creates binary image of source's image edges, using derivatives of the first order. | |
void | MinEigenVal (const QVImage< uChar, 1 > &qvimage_pSrc, QVImage< sFloat, 1 > &qvimage_pMinEigenVal, const IppiKernelType kernType, const int apertureSize, const int avgWindow, QVImage< uChar, 1 > &qvimage_pBuffer, const QPoint &destROIOffset=QPoint(0, 0)) |
Calculate minimal eigen value of 2x2 autocorrelation gradient matrix for every pixel. | |
void | DistanceTransform_5x5 (const QVImage< uChar, 1 > &qvimage_pSrc, QVImage< uShort, 1 > &qvimage_pDst, sInt &pMetrics, const QPoint &destROIOffset=QPoint(0, 0)) |
QVision wrapper function for IPP's ippiDistanceTransform_5x5_8u16u_C1R. | |
void | FastMarching (const QVImage< uChar, 1 > &qvimage_pSrc, QVImage< sFloat, 1 > &qvimage_pDst, const sFloat radius, QVImage< uChar, 1 > &qvimage_pBuffer, const QPoint &destROIOffset=QPoint(0, 0)) |
Calculate distance transform by fast marching method. | |
void | Inpaint (const QVImage< uChar, 1 > &qvimage_pSrc, QVImage< uChar, 1 > &qvimage_pDst, IppiInpaintState_8u_C1R &pState, const QPoint &destROIOffset=QPoint(0, 0)) |
Restores damaged image area by direct inpainting. | |
void | Inpaint (const QVImage< uChar, 3 > &qvimage_pSrc, QVImage< uChar, 3 > &qvimage_pDst, IppiInpaintState_8u_C1R &pState, const QPoint &destROIOffset=QPoint(0, 0)) |
Restores damaged image area by direct inpainting. |
void Canny | ( | QVImage< sFloat, 1 > & | qvimage_pSrcDx, | |
QVImage< sFloat, 1 > & | qvimage_pSrcDy, | |||
QVImage< uChar, 1 > & | qvimage_pDstEdges, | |||
const sFloat | lowThresh, | |||
const sFloat | highThresh, | |||
QVImage< uChar, 1 > & | qvimage_pBuffer | |||
) |
Creates binary image of source's image edges, using derivatives of the first order.
This is the QVision wrapper function for IPP's ippiCanny_32f8u_C1R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrcDx | Image corresponding to the data buffer pointer pSrcDx and step number srcDxStep variables in the IPP function | |
qvimage_pSrcDy | Image corresponding to the data buffer pointer pSrcDy and step number srcDyStep variables in the IPP function | |
qvimage_pDstEdges | Image corresponding to the data buffer pointer pDstEdges and step number dstEdgeStep variables in the IPP function | |
lowThresh | Corresponds to the same parameter of type IppiSize in the IPP function. | |
highThresh | Corresponds to the same parameter of type IppiSize in the IPP function. | |
qvimage_pBuffer | Data buffer image, corresponding to parameter named pBuffer from the original IPP function |
void Canny | ( | QVImage< sShort, 1 > & | qvimage_pSrcDx, | |
QVImage< sShort, 1 > & | qvimage_pSrcDy, | |||
QVImage< uChar, 1 > & | qvimage_pDstEdges, | |||
const sFloat | lowThresh, | |||
const sFloat | highThresh, | |||
QVImage< uChar, 1 > & | qvimage_pBuffer | |||
) |
Creates binary image of source's image edges, using derivatives of the first order.
This is the QVision wrapper function for IPP's ippiCanny_16s8u_C1R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrcDx | Image corresponding to the data buffer pointer pSrcDx and step number srcDxStep variables in the IPP function | |
qvimage_pSrcDy | Image corresponding to the data buffer pointer pSrcDy and step number srcDyStep variables in the IPP function | |
qvimage_pDstEdges | Image corresponding to the data buffer pointer pDstEdges and step number dstEdgeStep variables in the IPP function | |
lowThresh | Corresponds to the same parameter of type IppiSize in the IPP function. | |
highThresh | Corresponds to the same parameter of type IppiSize in the IPP function. | |
qvimage_pBuffer | Data buffer image, corresponding to parameter named pBuffer from the original IPP function |
void CannyGetSize | ( | const QVGenericImage & | src, | |
QVImage< uChar > & | buffer | |||
) |
Allocates size in a buffer image for temporary data for function Canny.
This function should be applied to any QVImage<uChar> image to be used as a buffer image for function Canny. Initializes dimensions for that buffer image, appropriated for canny algorithm.
src | source image to apply later Canny operator. | |
buffer | buffer image to initialize for further operations. |
void DistanceTransform_5x5 | ( | const QVImage< uChar, 1 > & | qvimage_pSrc, | |
QVImage< uShort, 1 > & | qvimage_pDst, | |||
sInt & | pMetrics, | |||
const QPoint & | destROIOffset = QPoint(0, 0) | |||
) |
QVision wrapper function for IPP's ippiDistanceTransform_5x5_8u16u_C1R.
This is the QVision wrapper function for IPP's ippiDistanceTransform_5x5_8u16u_C1R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrc | Image corresponding to the data buffer pointer pSrc and step number srcStep variables in the IPP function | |
qvimage_pDst | Image corresponding to the data buffer pointer pDst and step number dstStep variables in the IPP function | |
pMetrics | Corresponds to the same parameter in the IPP function. |
void FastMarching | ( | const QVImage< uChar, 1 > & | qvimage_pSrc, | |
QVImage< sFloat, 1 > & | qvimage_pDst, | |||
const sFloat | radius, | |||
QVImage< uChar, 1 > & | qvimage_pBuffer, | |||
const QPoint & | destROIOffset = QPoint(0, 0) | |||
) |
Calculate distance transform by fast marching method.
This is the QVision wrapper function for IPP's ippiFastMarching_8u32f_C1R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrc | Image corresponding to the data buffer pointer pSrc and step number srcStep variables in the IPP function | |
qvimage_pDst | Image corresponding to the data buffer pointer pDst and step number dstStep variables in the IPP function | |
radius | Corresponds to the same parameter of type IppiSize in the IPP function. | |
qvimage_pBuffer | Data buffer image, corresponding to parameter named pBuffer from the original IPP function |
void FastMarchingGetBufferSize | ( | const QVGenericImage & | image, | |
QVImage< uChar > & | buffer | |||
) |
Allocates size in a buffer image for temporary data for function FastMarching.
This function should be applied to any QVImage<uChar> image to be used as a buffer image for function FastMarching. Initializes dimensions for that buffer image, appropriated for that algorithm.
image | source image to apply Fast Marching algorithm. | |
buffer | buffer image to initialize for further operations. |
void FindPeaks3x3 | ( | const QVImage< sFloat, 1 > & | img, | |
QVImage< uChar > & | buffer, | |||
QList< QPoint > & | points, | |||
sFloat | threshold, | |||
IppiNorm | norm, | |||
uInt | border, | |||
uInt | maxPeakCount | |||
) |
Finds coordinates of peaks (maximums or minimums) with absolute value exceeding threshold value.
void FindPeaks3x3 | ( | const QVImage< sInt, 1 > & | img, | |
QVImage< uChar > & | buffer, | |||
QList< QPoint > & | points, | |||
sInt | threshold, | |||
IppiNorm | norm, | |||
uInt | border, | |||
uInt | maxPeakCount | |||
) |
Finds coordinates of peaks (maximums or minimums) with absolute value exceeding threshold value.
This function detects local maximum pixels in the source image, and stores their coordinates in the points point list. The neighborhood O(i, j) for the search is defined by the parameter norm. The number of detected maximums is returned in pPeakCount[0]. The operation is stopped The function requires a working image buffer whose size should be computed by the function FindPeaks3x3GetBufferSize beforehand.
img | image to obtain from peaks. | |
buffer | buffer image initiated beforehand by the function FindPeaks3x3GetBufferSize. | |
points | QPoint list to store the resulting point list. | |
threshold | threshold value. | |
norm | Specifies type of the norm to form the mask for maximum search:
| |
border | Border value, only pixel with distance from the edge of the image greater than border are processed. | |
maxPeakCount | Maximum number of peaks. |
Computes the size of the working buffer for the peak search.
Computes the size of the working buffer for the peak search.
This function computes the size of the working image buffer required for the function FindPeaks3x3. The image buffer can be used to filter images with ROI width that is less than or equal to the image ROI width.
image | source image to apply later filter. | |
buffer | buffer image to initialize for further operations. |
void FloodFillGetSize | ( | const QVGenericImage & | src, | |
QVImage< uChar > & | buffer | |||
) |
Allocates size in a buffer image for temporary data for function family FloodFill.
This function should be applied to any QVImage<uChar> image to be used as a buffer image for function family FloodFill. Initializes dimensions for that buffer image, appropriated for that algorithm.
src | source image to apply later flood fill function. | |
buffer | buffer image to initialize for further operations. |
void FloodFillGradient4Connected | ( | QVImage< uChar > & | img, | |
QVImage< uChar > & | buffer, | |||
uInt | seedX, | |||
uInt | seedY, | |||
uChar | newVal, | |||
uChar | minDelta, | |||
uChar | maxDelta | |||
) |
Performs gradient flood filling of connected area on an image.
This function performs flood filling of the group of connected pixels in the seed pixel neighborhoods whose pixel values v satisfies the following conditions:
where is the value of at least one of the current pixel neighbors, which already belongs to the refilled area, and
, dup are minDelta, maxDelta, respectively. Values of these pixel is set to the newVal value.
The function check 4-connected neighborhood of each pixel, i.e., side neighbors.
The function requires a temporary buffer whose size should be computed with the function FloodFillGetSize beforehand.
img | image to flood fill. | |
buffer | temporary buffer image previously initialized with FloodFillGetSize. | |
seedX | column coordinate for the seed. | |
seedY | row coordinate for the seed. | |
newVal | Value to fill with for one-channel data. | |
minDelta | Minimum difference between neighbor pixels for one-channel data. | |
maxDelta | Maximum difference between neighbor pixels for one-channel data. |
void FloodFillRange4Connected | ( | QVImage< uChar > & | img, | |
QVImage< uChar > & | buffer, | |||
uInt | seedX, | |||
uInt | seedY, | |||
uChar | newVal, | |||
uChar | minDelta, | |||
uChar | maxDelta | |||
) |
Performs flood filling of pixels with values in the specified range in the connected area on an image.
This function performs flood filling of the group of connected pixels in the seed pixel neighborhoods whose pixel values satisfies the following condition:
where is the pixel value of the seed point. Values of these pixel is set to the newVal value.
The function check 4-connected neighborhood of each pixel, i.e., side neighbors.
The function requires a temporary buffer whose size should be computed with the function FloodFillGetSize beforehand.
img | image to flood fill. | |
buffer | temporary buffer image previously initialized with FloodFillGetSize. | |
seedX | column coordinate for the seed. | |
seedY | row coordinate for the seed. | |
newVal | Value to fill with for one-channel data. | |
minDelta | Minimum difference between neighbor pixels for one-channel data. | |
maxDelta | Maximum difference between neighbor pixels for one-channel data. |
void Inpaint | ( | const QVImage< uChar, 3 > & | qvimage_pSrc, | |
QVImage< uChar, 3 > & | qvimage_pDst, | |||
IppiInpaintState_8u_C1R & | pState, | |||
const QPoint & | destROIOffset = QPoint(0, 0) | |||
) |
Restores damaged image area by direct inpainting.
This is the QVision wrapper function for IPP's ippiInpaint_8u_C3R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrc | Image corresponding to the data buffer pointer pSrc and step number srcStep variables in the IPP function | |
qvimage_pDst | Image corresponding to the data buffer pointer pDst and step number dstStep variables in the IPP function | |
pState | Corresponds to the same parameter in the IPP function. |
void Inpaint | ( | const QVImage< uChar, 1 > & | qvimage_pSrc, | |
QVImage< uChar, 1 > & | qvimage_pDst, | |||
IppiInpaintState_8u_C1R & | pState, | |||
const QPoint & | destROIOffset = QPoint(0, 0) | |||
) |
Restores damaged image area by direct inpainting.
This is the QVision wrapper function for IPP's ippiInpaint_8u_C1R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrc | Image corresponding to the data buffer pointer pSrc and step number srcStep variables in the IPP function | |
qvimage_pDst | Image corresponding to the data buffer pointer pDst and step number dstStep variables in the IPP function | |
pState | Corresponds to the same parameter in the IPP function. |
void InpaintFreeC1 | ( | IppiInpaintState_8u_C1R * | pState | ) |
void InpaintFreeC3 | ( | IppiInpaintState_8u_C3R * | pState | ) |
void MinEigenVal | ( | const QVImage< uChar, 1 > & | qvimage_pSrc, | |
QVImage< sFloat, 1 > & | qvimage_pMinEigenVal, | |||
const IppiKernelType | kernType, | |||
const int | apertureSize, | |||
const int | avgWindow, | |||
QVImage< uChar, 1 > & | qvimage_pBuffer, | |||
const QPoint & | destROIOffset = QPoint(0, 0) | |||
) |
Calculate minimal eigen value of 2x2 autocorrelation gradient matrix for every pixel.
This is the QVision wrapper function for IPP's ippiMinEigenVal_8u32f_C1R. See Intel's IPP documentation for a deeper understanding of that function. The parameters of this wrapper function and the original IPP function corresponds as follows:
qvimage_pSrc | Image corresponding to the data buffer pointer pSrc and step number srcStep variables in the IPP function | |
qvimage_pMinEigenVal | Image corresponding to the data buffer pointer pMinEigenVal and step number minValStep variables in the IPP function | |
kernType | Corresponds to the same parameter of type IppiSize in the IPP function. | |
apertureSize | Corresponds to the same parameter of type IppiSize in the IPP function. | |
avgWindow | Corresponds to the same parameter of type IppiSize in the IPP function. | |
qvimage_pBuffer | Data buffer image, corresponding to parameter named pBuffer from the original IPP function |
void MinEigenVal | ( | const QVImage< uChar > & | src, | |
QVImage< sFloat > & | dest, | |||
QVImage< uChar > & | buffer, | |||
uInt | apertureSize = 3 , |
|||
uInt | avgWindow = 5 , |
|||
IppiKernelType | kernel = ippKernelSobel , |
|||
const QPoint & | destROIOffset = QPoint(0, 0) | |||
) |
Calculates the minimal eigen value of image blocks for corner detection.
This function takes a block around the pixel and computes the first derivatives Dx and Dy.
This operation is performed for every pixel of the image using either Sobel or Scharr kernel in accordance with the kernType parameter.
The size of the Sobel kernel may be specified the parameter apertureSize. If this parameter is set to 3 - the function used 3x3 kernel, if it set to 5 - the function uses 5x5 kernel.
Only 3x3 size is available for the Scharr kernel, therefore the parameter apertureSize must be set to 3 if the Scharr kernel is used.
src | source image. | |
dest | destination image to hold the minimal eigen values. | |
buffer | image to hold temporary data during function operations. | |
apertureSize | Size (in pixels) of the derivative operator used by the function, possible values are 3 or 5. | |
avgWindow | Size of the blurring window in pixels, possible values are 3 (3x3 mask size) or 5 (5x5 mask size). | |
kernel | Specifies the type of kernel used to compute derivatives, possible values are:
|
Referenced by FilterHarrisCornerResponseImage(), MinEigenVal(), and MinEigenValGetBufferSize().
void MinEigenValGetBufferSize | ( | const QVGenericImage & | src, | |
QVImage< uChar > & | buffer, | |||
uInt | apertureSize = 5 , |
|||
uInt | avgWindow = 5 | |||
) |
Allocates size in a buffer image for temporary data for function MinEigenValGet.
This function should be applied to any QVImage<uChar> image to be used as a buffer image for function MinEigenVal. Initializes dimensions for that buffer image, appropriated for that algorithm.
src | source image to apply later MinEigenVal function. | |
buffer | buffer image to initialize for further operations. | |
apertureSize | Size (in pixels) of the derivative operator used by the function, possible values are 3 or 5. | |
avgWindow | Size of the blurring window in pixels, possible values are 3 or 5. |