![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
Computes the Harris corner detection response. More...
| IPSDKIPLFEATUREDETECTION_API image::ImagePtr | ipsdk::imaproc::fd::harrisCorner2dImg (const ipsdk::image::ImageConstPtr &pInImg) |
| wrapper function for Computes the Harris corner detection response More... | |
| IPSDKIPLFEATUREDETECTION_API image::ImagePtr | ipsdk::imaproc::fd::harrisCorner2dImg (const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::ipReal32 inGradStdDev) |
| wrapper function for Computes the Harris corner detection response More... | |
| IPSDKIPLFEATUREDETECTION_API void | ipsdk::imaproc::fd::harrisCorner2dImg (const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::ipReal32 inGradStdDev, const attr::GaussianCoverageConstPtr &pInOptGradientGaussianCoverage, const ipsdk::imaproc::attr::CornerDetectionParamsConstPtr &pInCornerDetectionParams, const ipsdk::image::ImagePtr &pOutImg) |
| wrapper function for Computes the Harris corner detection response More... | |
Computes the Harris corner detection response.
This algorithm computes the cornerness for each pixel of the input image, according to the Harris corner detector algorithm [1] or to the Shi-Tomasi [2] [3] corner detector algorithm (with respect to method contained by parameter
).
The basic idea of the Harris corner detector is that a corner can be characterized by high intensity variation in all directions. It means that a pixel at position
is a corner if the energy
, described by the following equation, reaches a maximum value compared to its neighbourhood
:
Where
is the pixel's neighbourhood,
is the input image and
is the Gaussian coefficient at the position
. The gaussian coefficients are computed using the parameters
and
.
The energy can be approximated by a first order Taylor expansion :
Where
Where
and
are the spatial derivatives of the input image at the position
along the directions x and y respectively. In this implementation, the spatial derivatives are computed using the Gaussian Gradient 2d algorithm.
can be computed at the position
by :
is the sensitivity contained by parameter
,
is the determinant of
and
is the trace of
. In order to fit into the output image range, the algorithm returns the square root of
:
can be computed at the position
by :
and
correspond to eigen values of matrix
(in this case sensitivity contained by parameter
is ignored).Here is an example of a 2d Harris cornerness calculation applied to an 8-bits grey level input image (with
and
):
[1] C. Harris and M. Stephens (1988). "A combined corner and edge detector". Proceedings of the 4th Alvey Vision Conference. pp. 147 - 151.
[2] J. Shi and C. Tomasi (June 1994). "Good Features to Track". 9th IEEE Conference on Computer Vision and Pattern Recognition. Springer
[3] C. Tomasi and T. Kanade (2004). "Detection and Tracking of Point Features". Pattern Recognition. 37: 165 - 168
Attribute description for algorithm :
| Name | ToolTip | Default Initializer |
|---|---|---|
| ipsdk::imaproc::attr::InImg | [Input] image for processing operation | X |
| ipsdk::imaproc::attr::InOptGradStdDev | [Input Optional] standard deviation used for gradient computation | X |
| ipsdk::imaproc::attr::InOptGradientGaussianCoverage | [Input Optional] Parameter allowing to specify a gaussian distribution coverage for processing | X |
| ipsdk::imaproc::attr::InOptCornerDetectionParams2d | [Input Optional] parameters used during corner detection process | X |
| ipsdk::imaproc::attr::OutWk1Img | [Output] Temporary working image for algorithm | promoteUnary (_pOutWk1Img, _pInImg, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned) |
| ipsdk::imaproc::attr::OutWk2Img | [Output] Temporary working image for algorithm | promoteUnary (_pOutWk2Img, _pInImg, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned) |
| ipsdk::imaproc::attr::OutWk3Img | [Output] Temporary working image for algorithm | promoteUnary (_pOutWk3Img, _pInImg, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned) |
| ipsdk::imaproc::attr::OutImg | [Output] image for processing operation | promoteUnary (_pOutImg, _pInImg, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned) |
Global rule description for algorithm :
matchSize (_pInImg,_pOutImg) &&
matchSizeAndType (_pOutImg,_pOutWk1Img) &&
matchSizeAndType (_pOutWk1Img,_pOutWk2Img,_pOutWk3Img)
| IPSDKIPLFEATUREDETECTION_API image::ImagePtr ipsdk::imaproc::fd::harrisCorner2dImg | ( | const ipsdk::image::ImageConstPtr & | pInImg | ) |
wrapper function for Computes the Harris corner detection response
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLFEATUREDETECTION_API image::ImagePtr ipsdk::imaproc::fd::harrisCorner2dImg | ( | const ipsdk::image::ImageConstPtr & | pInImg, |
| const ipsdk::ipReal32 | inGradStdDev | ||
| ) |
wrapper function for Computes the Harris corner detection response
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLFEATUREDETECTION_API void ipsdk::imaproc::fd::harrisCorner2dImg | ( | const ipsdk::image::ImageConstPtr & | pInImg, |
| const ipsdk::ipReal32 | inGradStdDev, | ||
| const attr::GaussianCoverageConstPtr & | pInOptGradientGaussianCoverage, | ||
| const ipsdk::imaproc::attr::CornerDetectionParamsConstPtr & | pInCornerDetectionParams, | ||
| const ipsdk::image::ImagePtr & | pOutImg | ||
| ) |
wrapper function for Computes the Harris corner detection response
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
1.8.14