FastRetinaKeypointDetector Class |
Namespace: Accord.Imaging
[SerializableAttribute] public class FastRetinaKeypointDetector : BaseSparseFeatureExtractor<FastRetinaKeypoint>
The FastRetinaKeypointDetector type exposes the following members.
Name | Description | |
---|---|---|
FastRetinaKeypointDetector |
Initializes a new instance of the FastRetinaKeypointDetector class.
| |
FastRetinaKeypointDetector(Int32) |
Initializes a new instance of the FastRetinaKeypointDetector class.
| |
FastRetinaKeypointDetector(ICornersDetector) |
Initializes a new instance of the FastRetinaKeypointDetector class.
|
Name | Description | |
---|---|---|
ComputeDescriptors |
Gets or sets a value indicating whether all feature points
should have their descriptors computed after being detected.
Default is to compute standard descriptors.
| |
Detector |
Gets the corners detector used to generate features.
| |
NumberOfInputs |
Returns -1.
(Inherited from BaseFeatureExtractorTFeature.) | |
NumberOfOutputs |
Gets the dimensionality of the features generated by this extractor.
(Inherited from BaseFeatureExtractorTFeature.) | |
Octaves |
Gets or sets the number of octaves to use when
building the feature descriptor. Default is 4.
| |
Scale |
Gets or sets the scale used when building
the feature descriptor. Default is 22.
| |
SupportedFormats |
Gets the list of image pixel formats that are supported by
this extractor. The extractor will check whether the pixel
format of any provided images are in this list to determine
whether the image can be processed or not.
(Inherited from BaseFeatureExtractorTFeature.) |
Name | Description | |
---|---|---|
Clone |
Creates a new object that is a copy of the current instance.
(Inherited from BaseFeatureExtractorTFeature.) | |
Clone(ISetPixelFormat) |
Creates a new object that is a copy of the current instance.
(Overrides BaseFeatureExtractorTFeatureClone(ISetPixelFormat).) | |
Dispose |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from BaseFeatureExtractorTFeature.) | |
Dispose(Boolean) |
Releases unmanaged and - optionally - managed resources.
(Inherited from BaseFeatureExtractorTFeature.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetDescriptor |
Gets the
feature descriptor for the last processed image.
| |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
InnerTransform |
This method should be implemented by inheriting classes to implement the
actual feature extraction, transforming the input image into a list of features.
(Overrides BaseFeatureExtractorTFeatureInnerTransform(UnmanagedImage).) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ProcessImage(Bitmap) | Obsolete.
Obsolete. Please use the Transform(Bitmap) method instead.
(Inherited from BaseSparseFeatureExtractorTPoint.) | |
ProcessImage(BitmapData) | Obsolete.
Obsolete. Please use the Transform(Bitmap) method instead.
(Inherited from BaseSparseFeatureExtractorTPoint.) | |
ProcessImage(UnmanagedImage) | Obsolete.
Obsolete. Please use the Transform(Bitmap) method instead.
(Inherited from BaseSparseFeatureExtractorTPoint.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
Transform(Bitmap) |
Applies the transformation to an input, producing an associated output.
(Inherited from BaseFeatureExtractorTFeature.) | |
Transform(Bitmap) |
Applies the transformation to an input, producing an associated output.
(Inherited from BaseFeatureExtractorTFeature.) | |
Transform(UnmanagedImage) |
Applies the transformation to an input, producing an associated output.
(Inherited from BaseFeatureExtractorTFeature.) | |
Transform(UnmanagedImage) |
Applies the transformation to an input, producing an associated output.
(Inherited from BaseFeatureExtractorTFeature.) | |
Transform(Bitmap, IEnumerableTFeature) |
Applies the transformation to a set of input vectors,
producing an associated set of output vectors.
(Inherited from BaseFeatureExtractorTFeature.) | |
Transform(UnmanagedImage, IEnumerableTFeature) |
Applies the transformation to a set of input vectors,
producing an associated set of output vectors.
(Inherited from BaseFeatureExtractorTFeature.) |
Name | Description | |
---|---|---|
HasMethod |
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.) | |
IsEqual |
Compares two objects for equality, performing an elementwise
comparison if the elements are vectors or matrices.
(Defined by Matrix.) | |
To(Type) | Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) | |
ToT | Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) |
In the following example, we will see how can we extract binary descriptor vectors from a given image using the Fast Retina Keypoint Detector together a FAST corners detection algorithm.
Bitmap lena = Resources.lena512; // The freak detector can be used with any other corners detection // algorithm. The default corners detection method used is the FAST // corners detection. So, let's start creating this detector first: // var detector = new FastCornersDetector(60); // Now that we have a corners detector, we can pass it to the FREAK // feature extraction algorithm. Please note that if we leave this // parameter empty, FAST will be used by default. // var freak = new FastRetinaKeypointDetector(detector); // Now, all we have to do is to process our image: List<FastRetinaKeypoint> points = freak.ProcessImage(lena); // Afterwards, we should obtain 83 feature points. We can inspect // the feature points visually using the FeaturesMarker class as // FeaturesMarker marker = new FeaturesMarker(points, scale: 20); // And showing it on screen with ImageBox.Show(marker.Apply(lena)); // We can also inspect the feature vectors (descriptors) associated // with each feature point. In order to get a descriptor vector for // any given point, we can use // byte[] feature = points[42].Descriptor; // By default, feature vectors will have 64 bytes in length. We can also // display those vectors in more readable formats such as HEX or base64 // string hex = points[42].ToHex(); string b64 = points[42].ToBase64(); // The above base64 result should be: // // "3W8M/ev///ffbr/+v3f34vz//7X+f0609v//+++/1+jfq/e83/X5/+6ft3//b4uaPZf7ePb3n/P93/rIbZlf+g=="
The resulting image is shown below: