From b84d40fd142e9f89fb1b27696ac84fa4a87e47df Mon Sep 17 00:00:00 2001 From: Jordan Date: Fri, 5 Apr 2024 11:04:28 -0700 Subject: [PATCH] can compute matches! no errors! yay! --- src/frame.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/frame.cxx b/src/frame.cxx index 2df768d..05abb0a 100644 --- a/src/frame.cxx +++ b/src/frame.cxx @@ -125,13 +125,15 @@ void DartOpenMvg::Frames::computeMatches() // image sequences (video frames), we'll stick to the sequence order. for (size_t i = 0; i < mFrames.size() - 1; ++i) { - const Frame &frame1 = mFrames[i]; - const Frame &frame2 = mFrames[i + 1]; + Frame &frame1 = mFrames[i]; + Frame &frame2 = mFrames[i + 1]; + frame1.calculateFeatures(); + frame2.calculateFeatures(); auto regions1 = frame1.mRegions.get(); auto regions2 = frame2.mRegions.get(); if (!regions1) { - std::string msg = std::string("Did you remember to calculate regions for frame ") + std::to_string(i) + "?"; + std::string msg = std::string("No frame. Did you remember to calculate regions for frame ") + std::to_string(i) + "?"; throw std::out_of_range(msg); } @@ -182,7 +184,7 @@ void DartOpenMvg::Frame::calculateFeatures() using namespace openMVG::features; MvgOverride::AKAZE_OCV_Image_describer desc; auto im = imageFromFrame(cFrame); - mRegions = std::make_shared(std::move(desc.Describe(im))); + mRegions = desc.Describe(im); if (!mRegions.get()) { throw std::range_error("Could not set regions member.");