Emgu CV Library Documentation
cvGoodFeaturesToTrack Method (image, eigImage, tempImage, corners, cornerCount, qualityLevel, minDistance, mask, blockSize, useHarris, k)
NamespacesEmgu.CVCvInvokecvGoodFeaturesToTrack(IntPtr, IntPtr, IntPtr, IntPtr, Int32%, Double, Double, IntPtr, Int32, Int32, Double)

www.emgu.com/wiki
Finds corners with big eigenvalues in the image.
Declaration Syntax
C#Visual BasicVisual C++
public static void cvGoodFeaturesToTrack(
	IntPtr image,
	IntPtr eigImage,
	IntPtr tempImage,
	IntPtr corners,
	ref int cornerCount,
	double qualityLevel,
	double minDistance,
	IntPtr mask,
	int blockSize,
	int useHarris,
	double k
)
Public Shared Sub cvGoodFeaturesToTrack ( _
	image As IntPtr, _
	eigImage As IntPtr, _
	tempImage As IntPtr, _
	corners As IntPtr, _
	ByRef cornerCount As Integer, _
	qualityLevel As Double, _
	minDistance As Double, _
	mask As IntPtr, _
	blockSize As Integer, _
	useHarris As Integer, _
	k As Double _
)
public:
static void cvGoodFeaturesToTrack(
	IntPtr image, 
	IntPtr eigImage, 
	IntPtr tempImage, 
	IntPtr corners, 
	int% cornerCount, 
	double qualityLevel, 
	double minDistance, 
	IntPtr mask, 
	int blockSize, 
	int useHarris, 
	double k
)
Parameters
image (IntPtr)
The source 8-bit or floating-point 32-bit, single-channel image
eigImage (IntPtr)
Temporary floating-point 32-bit image of the same size as image
tempImage (IntPtr)
Another temporary image of the same size and same format as eig_image
corners (IntPtr)
Output parameter. Detected corners
cornerCount ( Int32 %)
Output parameter. Number of detected corners
qualityLevel (Double)
Multiplier for the maxmin eigenvalue; specifies minimal accepted quality of image corners
minDistance (Double)
Limit, specifying minimum possible distance between returned corners; Euclidian distance is used
mask (IntPtr)
Region of interest. The function selects points either in the specified region or in the whole image if the mask is NULL
blockSize (Int32)
Size of the averaging block, passed to underlying cvCornerMinEigenVal or cvCornerHarris used by the function
useHarris (Int32)
If nonzero, Harris operator (cvCornerHarris) is used instead of default cvCornerMinEigenVal.
k (Double)
Free parameter of Harris detector; used only if useHarris != 0
Remarks
The function first calculates the minimal eigenvalue for every source image pixel using cvCornerMinEigenVal function and stores them in eig_image. Then it performs non-maxima suppression (only local maxima in 3x3 neighborhood remain). The next step is rejecting the corners with the minimal eigenvalue less than quality_level*max(eigImage(x,y)). Finally, the function ensures that all the corners found are distanced enough one from another by considering the corners (the most strongest corners are considered first) and checking that the distance between the newly considered feature and the features considered earlier is larger than min_distance. So, the function removes the features than are too close to the stronger features.

Assembly: Emgu.CV (Module: Emgu.CV) Version: 1.3.0.0 (1.3.0.0)