Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

MinEigenValBorder

Calculates the minimal eigen value of image blocks for corner detection.

Syntax

IppStatus ippiMinEigenValBorder_8u32f_C1R(const Ipp8u* pSrc, int srcStep, Ipp32f* pMinEigenVal, int minValStep, IppiSize roiSize, IppiKernelType kernType, int apertureSize, int avgWindow, IppiBorderType borderType, Ipp8u borderValue, Ipp8u* pBuffer);

IppStatus ippiMinEigenValBorder_32f_C1R(const Ipp32f* pSrc, int srcStep, Ipp32f* pMinEigenVal, int minValStep, IppiSize roiSize, IppiKernelType kernType, int apertureSize, int avgWindow, IppiBorderType borderType, Ipp32f borderValue, 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 the starting points 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 the starting points 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.
borderType

Type of image border. Possible values:

ippBorderConst

Values of all border pixels are set to a constant.

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderMirror

Border pixels are mirrored from the source image boundary pixels.

borderValue

Constant value to assign to pixels of the constant border. This parameter is applicable only to the ippBorderConst border type.

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 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 apertureSize parameter specifies the size of the Sobel kernel. If apertureSize is set to 3, the function uses 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.

CAUTION:

If the parameter apertureSize is set to 5 for operation with the Scharr kernel, the function returns error status.

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 work buffer. Before using this function, compute the size of the work buffer using the ippiMinEigenValGetBufferSize function.

CAUTION:

The parameters apertureSize and avgWindow must be the same for both functions ippiMinEigenValGetBufferSize and ippiMinEigenValBorder.

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 is NULL.

ippStsSizeErr

Indicates an error condition if pRoiSize has a field with zero or negative value, or if apertureSize or avgWindow has an illegal value; or if kernType has wrong value.

ippStsStepErr

Indicates an error condition if srcStep is less than roiSize.width*<pixelSize>, or eigenvvStep is less than roiSize.width*sizeof(Ipp32f).

ippStsNotEvenStepErr

Indicates an error condition if steps for floating-point images are not divisible by 4.

ippStsBorderErr

Indicates an error if borderType has an illegal value.

See Also