/// <summary> /// Create a SURF detector using the specific values /// </summary> /// <param name="hessianThresh"> /// Only features with keypoint.hessian larger than that are extracted. /// good default value is ~300-500 (can depend on the average local contrast and sharpness of the image). /// user can further filter out some features based on their hessian values and other characteristics /// </param> /// <param name="extended"> /// false means basic descriptors (64 elements each), /// true means extended descriptors (128 elements each) /// </param> /// <param name="nOctaves"> /// The number of octaves to be used for extraction. /// With each next octave the feature size is doubled /// </param> /// <param name="nOctaveLayers"> /// The number of layers within each octave /// </param> /// <param name="upright"> /// False means that detector computes orientation of each feature. /// True means that the orientation is not computed (which is much, much faster). /// For example, if you match images from a stereo pair, or do image stitching, the matched features likely have very similar angles, and you can speed up feature extraction by setting upright=true.</param> public SURFDetector(double hessianThresh, int nOctaves = 4, int nOctaveLayers = 2, bool extended = true, bool upright = false) { _ptr = ContribInvoke.CvSURFDetectorCreate(hessianThresh, nOctaves, nOctaveLayers, extended, upright, ref _feature2D); }