1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 15:53:03 +04:00

slam VO modular matcher changes/fixes

This commit is contained in:
Agrim Rai
2026-07-07 21:12:37 +05:30
parent 747a71fdfe
commit f552e8ac82
5 changed files with 86 additions and 23 deletions
+4
View File
@@ -580,6 +580,10 @@ bool DescriptorMatcher::empty() const
void DescriptorMatcher::train()
{}
void DescriptorMatcher::setImagePairInfo( const std::vector<KeyPoint>&, const std::vector<KeyPoint>&,
Size, Size )
{}
void DescriptorMatcher::match( InputArray queryDescriptors, InputArray trainDescriptors,
std::vector<DMatch>& matches, InputArray mask ) const
{
@@ -15,6 +15,26 @@ namespace cv
LightGlueMatcher::LightGlueMatcher() {}
LightGlueMatcher::~LightGlueMatcher() {}
void LightGlueMatcher::setImagePairInfo(const std::vector<KeyPoint>& queryKpts, const std::vector<KeyPoint>& trainKpts,
Size queryImageSize, Size trainImageSize)
{
Mat qk((int)queryKpts.size(), 2, CV_32F);
for (size_t i = 0; i < queryKpts.size(); ++i)
{
qk.at<float>((int)i, 0) = queryKpts[i].pt.x;
qk.at<float>((int)i, 1) = queryKpts[i].pt.y;
}
Mat tk((int)trainKpts.size(), 2, CV_32F);
for (size_t i = 0; i < trainKpts.size(); ++i)
{
tk.at<float>((int)i, 0) = trainKpts[i].pt.x;
tk.at<float>((int)i, 1) = trainKpts[i].pt.y;
}
setPairInfo(qk, tk, queryImageSize, trainImageSize);
}
#ifdef HAVE_OPENCV_DNN
struct LightGluePairContext