http://www.emgu.com
Finds robust features in the image. For each feature it returns its location, size, orientation and optionally the descriptor, basic or extended. The function can be used for object tracking and localization, image stitching etc

Namespace: Emgu.CV
Assembly: Emgu.CV (in Emgu.CV.dll) Version: 2.4.2.1777 (2.4.2.1777)

Syntax

C#
public static void cvExtractSURF(
	IntPtr image,
	IntPtr mask,
	ref IntPtr keypoints,
	ref IntPtr descriptors,
	IntPtr storage,
	MCvSURFParams parameters,
	int useProvidedKeyPoints
)
Visual Basic
Public Shared Sub cvExtractSURF ( _
	image As IntPtr, _
	mask As IntPtr, _
	ByRef keypoints As IntPtr, _
	ByRef descriptors As IntPtr, _
	storage As IntPtr, _
	parameters As MCvSURFParams, _
	useProvidedKeyPoints As Integer _
)
Visual C++
public:
static void cvExtractSURF(
	IntPtr image, 
	IntPtr mask, 
	IntPtr% keypoints, 
	IntPtr% descriptors, 
	IntPtr storage, 
	MCvSURFParams parameters, 
	int useProvidedKeyPoints
)

Parameters

image
Type: System..::..IntPtr
The input 8-bit grayscale image
mask
Type: System..::..IntPtr
The optional input 8-bit mask. The features are only found in the areas that contain more than 50% of non-zero mask pixels
keypoints
Type: System..::..IntPtr%
The output parameter; double pointer to the sequence of keypoints. This will be the sequence of MCvSURFPoint structures
descriptors
Type: System..::..IntPtr%
The optional output parameter; double pointer to the sequence of descriptors; Depending on the params.extended value, each element of the sequence will be either 64-element or 128-element floating-point (CV_32F) vector. If the parameter is IntPtr.Zero, the descriptors are not computed
storage
Type: System..::..IntPtr
Memory storage where keypoints and descriptors will be stored
parameters
Type: Emgu.CV.Structure..::..MCvSURFParams
Various algorithm parameters put to the structure CvSURFParams
useProvidedKeyPoints
Type: System..::..Int32
If 1, the provided key points are locations for computing SURF descriptors

See Also