MinEigenVal
Calculates the minimal eigen value of image blocks for corner detection.
Syntax
IppStatus ippiMinEigenVal_8u32f_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32f*
pMinEigenVal
, int
minValStep
, IppiSize
roiSize
, IppiKernelType
kernType
, int
apertureSize
, int
avgWindow
, Ipp8u*
pBuffer
);
IppStatus ippiMinEigenVal_32f_C1R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pMinEigenVal
, int
minValStep
, IppiSize
roiSize
, IppiKernelType
kernType
, int
apertureSize
, int
avgWindow
, Ipp8u*
pBuffer
);
Include Files
ippcv.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
,
ippi.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
,
ippi.lib
Parameters
- pSrc
- Pointer to the source image ROI.
- srcStep
- Distance in bytes between starts of consecutive lines in the source image.
- pMinEigenVal
- Pointer to the image that is filled with the minimal eigen values.
- minValStep
- Distance in bytes between starts of consecutive lines in the output image.
- roiSize
- Size of the source image ROI in pixels.
- kernType
- Specifies the type of kernel used to compute derivatives, possible values are:
- ippKernelSobel
- Sobel kernel 3x3 or 5x5
- ippKernelSobelNeg
- Negative Sobel kernel 3x3 or 5x5
- ippKernelScharr
- Scharr kernel 3x3
- apertureSize
- Size of the derivative operator in pixels, possible values are 3 or 5.
- avgWindow
- Size of the averaging window in pixels, possible values are 3 or 5.
- pBuffer
- Pointer to the temporary buffer.
Description
This function operates with ROI (see Regions of Interest in Intel IPP). This function takes a block around the pixel and computes the first derivatives D
x
and Dy
. When using the MinEigenVal
function, you need to verify that the processing pixels beyond the ROI are available in memory. 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 is 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.If the parameter
apertureSize
is set to 5 for operation with the Scharr kernel, the function returns error status.Then, the function computes the minimal eigen value
λ
(λ
≥
0) of the following matrix:
The summation is performed over the full block with averaging over the blurring window with size
avgWindow
.The function requires a temporary working buffer; its size should be computed previously by calling the function
ippiMinEigenValGetBufferSize
.The parameters
apertureSize
and avgWindow
must be the same for both functions ippiMinEigenValGetBufferSize
and ippiMinEigenVal
.Return Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error or a warning.
- ippStsNullPtrErr
- Indicates an error condition if one of the specified pointers isNULL.
- ippStsSizeErr
- Indicates an error condition ifpRoiSizehas a field with zero or negative value, or ifapertureSizeoravgWindowhas an illegal value; or ifkernTypehas wrong value.
- ippStsStepErr
- Indicates an error condition ifsrcStepis less thanroiSize.width*<pixelSize>, oreigenvvStepis less thanroiSize.width*sizeof(Ipp32f).
- ippStsNotEvenStepErr
- Indicates an error condition if steps for floating-point images are not divisible by 4.