Class ORB
Class implementing the ORB (oriented BRIEF) keypoint detector and descriptor extractor.
described in @cite RRKB11 . The algorithm uses FAST in pyramids to detect stable keypoints, selects the strongest features using FAST or Harris response, finds their orientation using first-order moments and computes the descriptors using BRIEF (where the coordinates of random point pairs (or k-tuples) are rotated according to the measured orientation).
Implements
Inherited Members
Namespace: OpenCvSharp
Assembly: OpenCvSharp.dll
Syntax
public class ORB : Feature2D, ICvPtrHolder
Constructors
| Improve this Doc View SourceORB(IntPtr)
Declaration
protected ORB(IntPtr p)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | p |
Properties
| Improve this Doc View SourceEdgeThreshold
Declaration
public int EdgeThreshold { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
FastThreshold
Declaration
public int FastThreshold { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
FirstLevel
Declaration
public int FirstLevel { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
MaxFeatures
Declaration
public int MaxFeatures { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
NLevels
Declaration
public int NLevels { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
PatchSize
Declaration
public int PatchSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
ScaleFactor
Declaration
public double ScaleFactor { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
ScoreType
Declaration
public ORBScoreType ScoreType { get; set; }
Property Value
Type | Description |
---|---|
ORBScoreType |
WTA_K
Declaration
public int WTA_K { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
Methods
| Improve this Doc View SourceCreate(Int32, Single, Int32, Int32, Int32, Int32, ORBScoreType, Int32, Int32)
The ORB constructor
Declaration
public static ORB Create(int nFeatures = 500, float scaleFactor = 1.2F, int nLevels = 8, int edgeThreshold = 31, int firstLevel = 0, int wtaK = 2, ORBScoreType scoreType = ORBScoreType.Harris, int patchSize = 31, int fastThreshold = 20)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | nFeatures | The maximum number of features to retain. |
System.Single | scaleFactor | Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer. |
System.Int32 | nLevels | The number of pyramid levels. The smallest level will have linear size equal to input_image_linear_size/pow(scaleFactor, nlevels - firstLevel). |
System.Int32 | edgeThreshold | This is size of the border where the features are not detected. It should roughly match the patchSize parameter. |
System.Int32 | firstLevel | The level of pyramid to put source image to. Previous layers are filled with upscaled source image. |
System.Int32 | wtaK | The number of points that produce each element of the oriented BRIEF descriptor. The default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 random points (of course, those point coordinates are random, but they are generated from the pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3). |
ORBScoreType | scoreType | The default HARRIS_SCORE means that Harris algorithm is used to rank features (the score is written to KeyPoint::score and is used to retain best nfeatures features); FAST_SCORE is alternative value of the parameter that produces slightly less stable keypoints, but it is a little faster to compute. |
System.Int32 | patchSize | size of the patch used by the oriented BRIEF descriptor. Of course, on smaller pyramid layers the perceived image area covered by a feature will be larger. |
System.Int32 | fastThreshold | the fast threshold |
Returns
Type | Description |
---|---|
ORB |
DisposeManaged()
Releases managed resources
Declaration
protected override void DisposeManaged()