PARP Research Group Universidad de Murcia


Computer Vision
[IPP wrapper functions]

Functions 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.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.
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.
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.
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.
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.
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.This function performs flood filling of the group of connected pixels in the seed pixel neighborhoods whose pixel values $ v_i $ satisfies the following condition:
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:
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.
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.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.
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.

Detailed Description

Functions for computer vision.


Function Documentation

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.

Parameters:
src source image to apply later Canny operator.
buffer buffer image to initialize for further operations.
See also:
Canny

Definition at line 207 of file qvipp.cpp.

Referenced by CannyGetSize(), and FastMarchingGetBufferSize().

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.

Parameters:
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.
See also:
MinEigenVal

Definition at line 200 of file qvipp.cpp.

Referenced by FilterHarrisCornerResponseImage().

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.

Parameters:
src source image to apply later flood fill function.
buffer buffer image to initialize for further operations.
See also:
FloodFillRange

Definition at line 294 of file qvipp.cpp.

Referenced by FloodFillGetSize().

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.

Parameters:
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:

  • ippKernelSobel. Values for aperture size can be 3, or 5.
  • ippKernelScharr. Value for aperture size can only be 3.
See also:
MinEigenValGetBufferSize

Referenced by FilterHarrisCornerResponseImage(), MinEigenVal(), and MinEigenValGetBufferSize().

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.

Parameters:
image source image to apply Fast Marching algorithm.
buffer buffer image to initialize for further operations.
See also:
FastMarching

Definition at line 214 of file qvipp.cpp.

void InpaintInitAllocC3 ( IppiInpaintState_8u_C3R **  pState,
const QVImage< sFloat > &  distances,
const QVImage< uChar > &  mask,
const sFloat  radius,
const IppiInpaintFlag  flag 
)
Todo:
Document.

Definition at line 222 of file qvipp.cpp.

void InpaintFreeC3 ( IppiInpaintState_8u_C3R *  pState  ) 
Todo:
Document.

Definition at line 229 of file qvipp.cpp.

void InpaintInitAllocC1 ( IppiInpaintState_8u_C1R **  pState,
const QVImage< sFloat > &  distances,
const QVImage< uChar > &  mask,
const sFloat  radius,
const IppiInpaintFlag  flag 
)
Todo:
Document.

Definition at line 234 of file qvipp.cpp.

void InpaintFreeC1 ( IppiInpaintState_8u_C1R *  pState  ) 
Todo:
Document.

Definition at line 241 of file qvipp.cpp.

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 $ v_i $ satisfies the following condition:

$ v_i - minDelta \leq v_0 \leq v_i + maxDelta $

where $ v_0 $ 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.

Parameters:
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.
See also:
FloodFillGetSize
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:

$ v_0 – d_{lw} \leq v \leq v_0 + d_{up} $

where $ v_0 $ is the value of at least one of the current pixel neighbors, which already belongs to the refilled area, and $ d_{lw} $, 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.

Parameters:
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.
See also:
FloodFillGetSize
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.

Parameters:
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:

  • ippiNormInf. Infinity norm (8-connectivity, 3x3 rectangular mask);
  • ippiNormL1. L1 norm (4-connectivity, 3x3 cross mask).
border Border value, only pixel with distance from the edge of the image greater than border are processed.
maxPeakCount Maximum number of peaks.
See also:
FindPeaks3x3GetBufferSize
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.

See also:
FindPeaks3x3(const QVImage<sInt, 1> &, QVImage<uChar> &, QList<QPoint> &, sInt, IppiNorm, uInt, uInt)
void FindPeaks3x3GetBufferSize ( const QVImage< sInt, 1 > &  image,
QVImage< uChar > &  buffer 
)

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.

Parameters:
image source image to apply later filter.
buffer buffer image to initialize for further operations.
See also:
FindPeaks3x3(const QVImage<sInt, 1> &, QVImage<uChar> &, sInt, IppiNorm, uInt, QList<QPoint> &)
void FindPeaks3x3GetBufferSize ( const QVImage< sFloat, 1 > &  image,
QVImage< uChar > &  buffer 
)

Computes the size of the working buffer for the peak search.

See also:
FindPeaks3x3GetBufferSize(const QVImage<sInt,1> &, QVImage<uChar> &)
FindPeaks3x3
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 are the following:

Parameters:
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

Definition at line 4671 of file qvippfunctions.cpp.

Referenced by Canny().

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 are the following:

Parameters:
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

Definition at line 4690 of file qvippfunctions.cpp.

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 are the following:

Parameters:
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
destROIOffset Pointer to destination ROI. See section Destination ROI pointer for more info about this parameter.

Definition at line 4709 of file qvippfunctions.cpp.

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 are the following:

Parameters:
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.
destROIOffset Pointer to destination ROI. See section Destination ROI pointer for more info about this parameter.

Definition at line 4731 of file qvippfunctions.cpp.

Referenced by DistanceTransform_5x5().

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 are the following:

Parameters:
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
destROIOffset Pointer to destination ROI. See section Destination ROI pointer for more info about this parameter.

Definition at line 4748 of file qvippfunctions.cpp.

Referenced by FastMarching().

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 are the following:

Parameters:
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.
destROIOffset Pointer to destination ROI. See section Destination ROI pointer for more info about this parameter.

Definition at line 4766 of file qvippfunctions.cpp.

Referenced by Inpaint(), InpaintFreeC1(), InpaintFreeC3(), InpaintInitAllocC1(), and InpaintInitAllocC3().

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 are the following:

Parameters:
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.
destROIOffset Pointer to destination ROI. See section Destination ROI pointer for more info about this parameter.

Definition at line 4783 of file qvippfunctions.cpp.




QVision framework. PARP research group. Copyright © 2007, 2008, 2009, 2010, 2011.