The detected Orb feature points are distributed in this way.
The main problem is that when extracting feature points, the fast feature points are out of order and the extraction length is not enough.
ORB_GPU (int nfeatures, float scalefactor, int nlevels, int edgethreshold, int firstlevel, int wta_k, int scoretype, int pa tchsize):
Nfeatures_ (Nfeatures), Scalefactor_ (Scalefactor), Nlevels_ (Nlevels), Edgethreshold_ (EdgeThreshold), Firstlevel_ (Firstlevel), Wta_k_ (Wta_k),
scoretype_ (Scoretype), Patchsize_ (patchsize),
fastdetector_ ( Default_fast_threshold)
Source code initialization, where the last item is the fast feature point, the fast feature point is defined as follows,
explicit Fast_gpu (int threshold, BOOL Nonmaxsuppression = True, double keypointsratio = 0.05);
Last one
Keypointsratio = 0.05;
Will affect the storage fast point length, specifically lazy to find, is 0.05*1920*1080, also 10k point, obviously for this picture is not enough to use AH
has defined itself as a
lmw::orb_gpu0::orb_gpu0 (int nfeatures, float scalefactor, int nlevels, int edgethreshold, int firstlevel, int wta_k, int s Coretype, int patchsize):
Nfeatures_ (Nfeatures), Scalefactor_ (Scalefactor), Nlevels_ (Nlevels), Edgethreshold_ ( Edgethreshold), Firstlevel_ (Firstlevel), Wta_k_ (Wta_k),
scoretype_ (Scoretype), Patchsize_ (patchsize)
, Fastdetector_ (Default_fast_threshold, True, 0.05)
All right