mirror of
https://github.com/opencv/opencv.git
synced 2025-06-11 11:45:30 +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. */
|
||||
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>());
|
||||
|
||||
/** @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
|
||||
|
@ -59,6 +59,10 @@ public:
|
||||
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>());
|
||||
|
||||
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();
|
||||
|
||||
int descriptorSize() const
|
||||
@ -319,6 +323,18 @@ BRISK_Impl::BRISK_Impl(const std::vector<float> &radiusList,
|
||||
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
|
||||
BRISK_Impl::generateKernel(const std::vector<float> &radiusList,
|
||||
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);
|
||||
}
|
||||
|
||||
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