Interface GradientCornerIntensity<T extends ImageGray<T>>
 All Superinterfaces:
FeatureIntensity<T>
 All Known Implementing Classes:
ImplSsdCorner_F32
,ImplSsdCorner_F32_MT
,ImplSsdCorner_S16
,ImplSsdCorner_S16_MT
,ImplSsdCornerBase
,ImplSsdCornerBox
,ImplSsdCornerNaive
,ImplSsdCornerWeighted_F32
,ImplSsdCornerWeighted_F32_MT
,ImplSsdCornerWeighted_S16
,ImplSsdCornerWeighted_S16_MT
Several different types of corner detectors [1,2] all share the same initial processing steps. First a 2 by 2 deformation matrix D = [ Ixx , Ixy ; Iyx , Iyy] is computed around each pixel. D is computed by summing up the product of each pixel's gradient inside of a window. Next how corner like each pixel is computed using the information in the deformation matrix. In the final step where each of these techniques differ.
Ixx = Sum dX*dX
Ixy = Iyx = Sum dX*dY
Iyy = Sum dY*dY
where the Sum is the sum across all the pixels within a rectangular window, and [dX,dY] is a pixel's gradient.
Alternative implementations can consider a weighted window around the pixel. By considering only a uniform set of weights several optimizations are possible. The runtime is independent of the window size and can be very efficiently computed.
[1] Jianbo Shi and Carlo Tomasi. Good Features to Track. IEEE Conference on Computer Vision and Pattern Recognition,
pages 593600, 1994
[2] E.R. Davies, "Machine Vision Theory Algorithms Practicalities," 3rd ed. 2005

Method Summary
Methods inherited from interface boofcv.alg.feature.detect.intensity.FeatureIntensity
getIgnoreBorder, getRadius

Method Details

process
Computes feature intensity image. Parameters:
derivX
 Image derivative along the xaxis.derivY
 Image derivative along the yaxis.intensity
 Output intensity image

getInputType
Type of input image.
