High-level overview of the framework
The Feature
and Keypoint
types are the main fundamental types in ImageFeatures.jl. Feature
stores the keypoint
and its orientation
and scale
. A vector of the Feature
type is denoted by the Features
type and similary a vector of Keypoint
type is denoted by the Keypoints
type. We provide multiple methods for easily transitioning between the two types.
Keypoints
or Features
can be generated from an image of boolean values by Keypoints(boolean_image)
or Features(boolean_image)
where the boolean_image may be obtained from a feature detection algorithm for, e.g., the result of a corner detector. All feature detectors in ImageFeatures.jl directly return Features
.
A keypoint may be converted to a feature or vice versa by directly passing it to the respective method eg. Keypoint(feature_A)
or Feature(keypoint_A)
.
descriptor, ret_keypoints = create_descriptor(img, params)
descriptor, ret_keypoints = create_descriptor(img, keypoints, params)
Depending on the algorithm , the create_descriptor
API can be used to directly create a feature descriptor from the image (eg. ORB, BRISK) or from the keypoints (eg. BRIEF, FREAK). In case of the latter, the keypoints can be obtained using algorithms such as FAST. The params
argument is dependent on the algorithm chosen and its type is the name of the algorithm.