mirror of
https://github.com/opencv/opencv.git
synced 2025-06-17 15:20:51 +08:00
brisk add detection threshold for custom sampling pattern
This commit is contained in:
parent
87c27a074d
commit
e5f129424c
@ -250,6 +250,23 @@ public:
|
|||||||
@param indexChange index remapping of the bits. */
|
@param indexChange index remapping of the bits. */
|
||||||
CV_WRAP static Ptr<BRISK> create(const std::vector<float> &radiusList, const std::vector<int> &numberList,
|
CV_WRAP static Ptr<BRISK> create(const std::vector<float> &radiusList, const std::vector<int> &numberList,
|
||||||
float dMax=5.85f, float dMin=8.2f, const std::vector<int>& indexChange=std::vector<int>());
|
float dMax=5.85f, float dMin=8.2f, const std::vector<int>& indexChange=std::vector<int>());
|
||||||
|
|
||||||
|
/** @brief The BRISK constructor for a custom pattern, detection threshold and octaves
|
||||||
|
|
||||||
|
@param thresh AGAST detection threshold score.
|
||||||
|
@param octaves detection octaves. Use 0 to do single scale.
|
||||||
|
@param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
|
||||||
|
keypoint scale 1).
|
||||||
|
@param numberList defines the number of sampling points on the sampling circle. Must be the same
|
||||||
|
size as radiusList..
|
||||||
|
@param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
|
||||||
|
scale 1).
|
||||||
|
@param dMin threshold for the long pairings used for orientation determination (in pixels for
|
||||||
|
keypoint scale 1).
|
||||||
|
@param indexChange index remapping of the bits. */
|
||||||
|
CV_WRAP static Ptr<BRISK> create(int thresh, int octaves, const std::vector<float> &radiusList,
|
||||||
|
const std::vector<int> &numberList, float dMax=5.85f, float dMin=8.2f,
|
||||||
|
const std::vector<int>& indexChange=std::vector<int>());
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @brief Class implementing the ORB (*oriented BRIEF*) keypoint detector and descriptor extractor
|
/** @brief Class implementing the ORB (*oriented BRIEF*) keypoint detector and descriptor extractor
|
||||||
|
@ -59,6 +59,10 @@ public:
|
|||||||
explicit BRISK_Impl(const std::vector<float> &radiusList, const std::vector<int> &numberList,
|
explicit BRISK_Impl(const std::vector<float> &radiusList, const std::vector<int> &numberList,
|
||||||
float dMax=5.85f, float dMin=8.2f, const std::vector<int> indexChange=std::vector<int>());
|
float dMax=5.85f, float dMin=8.2f, const std::vector<int> indexChange=std::vector<int>());
|
||||||
|
|
||||||
|
explicit BRISK_Impl(int thresh, int octaves, const std::vector<float> &radiusList,
|
||||||
|
const std::vector<int> &numberList, float dMax=5.85f, float dMin=8.2f,
|
||||||
|
const std::vector<int> indexChange=std::vector<int>());
|
||||||
|
|
||||||
virtual ~BRISK_Impl();
|
virtual ~BRISK_Impl();
|
||||||
|
|
||||||
int descriptorSize() const
|
int descriptorSize() const
|
||||||
@ -319,6 +323,18 @@ BRISK_Impl::BRISK_Impl(const std::vector<float> &radiusList,
|
|||||||
octaves = 3;
|
octaves = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BRISK_Impl::BRISK_Impl(int thresh,
|
||||||
|
int octaves_in,
|
||||||
|
const std::vector<float> &radiusList,
|
||||||
|
const std::vector<int> &numberList,
|
||||||
|
float dMax, float dMin,
|
||||||
|
const std::vector<int> indexChange)
|
||||||
|
{
|
||||||
|
generateKernel(radiusList, numberList, dMax, dMin, indexChange);
|
||||||
|
threshold = thresh;
|
||||||
|
octaves = octaves_in;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
BRISK_Impl::generateKernel(const std::vector<float> &radiusList,
|
BRISK_Impl::generateKernel(const std::vector<float> &radiusList,
|
||||||
const std::vector<int> &numberList,
|
const std::vector<int> &numberList,
|
||||||
@ -2318,4 +2334,11 @@ Ptr<BRISK> BRISK::create(const std::vector<float> &radiusList, const std::vector
|
|||||||
return makePtr<BRISK_Impl>(radiusList, numberList, dMax, dMin, indexChange);
|
return makePtr<BRISK_Impl>(radiusList, numberList, dMax, dMin, indexChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Ptr<BRISK> BRISK::create(int thresh, int octaves, const std::vector<float> &radiusList,
|
||||||
|
const std::vector<int> &numberList, float dMax, float dMin,
|
||||||
|
const std::vector<int>& indexChange)
|
||||||
|
{
|
||||||
|
return makePtr<BRISK_Impl>(thresh, octaves, radiusList, numberList, dMax, dMin, indexChange);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user