protected void detectOctave ( II integral , int skip , int ... featureSize ) { int w = integral . width / skip ; int h = integral . height / skip ; // resize the output intensity image taking in account subsampling for ( int i = 0 ; i < intensity . length ; i ++ ) { intensity [ i ] . reshape ( w , h ) ; } // compute feature intensity in each level for ( int i = 0 ; i < featureSize . length ; i ++ ) { GIntegralImageFeatureIntensity . hessian ( integral , skip , featureSize [ i ] , intensity [ spaceIndex ] ) ; spaceIndex ++ ; if ( spaceIndex >= 3 ) spaceIndex = 0 ; // find maximum in scale space if ( i >= 2 ) { findLocalScaleSpaceMax ( featureSize , i - 1 , skip ) ; } } }
Computes feature intensities for all the specified feature sizes and finds features inside of the middle feature sizes .