From 24434a987be17fa358942174af1c207aab3558ba Mon Sep 17 00:00:00 2001 From: Matthieu Hog Date: Wed, 4 Sep 2024 14:51:01 +0200 Subject: [PATCH] modifications for generic feature type --- src/aliceVision/feature/ImageDescriber.hpp | 5 +++-- src/aliceVision/feature/imageDescriberCommon.cpp | 5 +++++ src/aliceVision/feature/imageDescriberCommon.hpp | 7 +++++-- src/aliceVision/matching/svgVisualization.cpp | 4 ++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/aliceVision/feature/ImageDescriber.hpp b/src/aliceVision/feature/ImageDescriber.hpp index 883f2b7726..59c0652523 100644 --- a/src/aliceVision/feature/ImageDescriber.hpp +++ b/src/aliceVision/feature/ImageDescriber.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -286,7 +287,7 @@ class GenericImageDescriber : public ImageDescriber * @brief Get the corresponding EImageDescriberType * @return EImageDescriberType */ - EImageDescriberType getDescriberType() const override { return EImageDescriberType::UNKNOWN; } + EImageDescriberType getDescriberType() const override { return EImageDescriberType::GENERIC; } /** * @brief Get the total amount of RAM needed for a @@ -362,7 +363,7 @@ class GenericImageDescriber : public ImageDescriber */ void allocate(std::unique_ptr& regions) const override { - regions.reset(new UNKNOWN_Regions); + regions.reset(new GENERIC_Regions); } private: diff --git a/src/aliceVision/feature/imageDescriberCommon.cpp b/src/aliceVision/feature/imageDescriberCommon.cpp index 448db0a231..32c2945808 100644 --- a/src/aliceVision/feature/imageDescriberCommon.cpp +++ b/src/aliceVision/feature/imageDescriberCommon.cpp @@ -61,6 +61,8 @@ std::string EImageDescriberType_enumToString(EImageDescriberType imageDescriberT return "akaze_liop"; case EImageDescriberType::AKAZE_MLDB: return "akaze_mldb"; + case EImageDescriberType::GENERIC: + return "generic"; #if ALICEVISION_IS_DEFINED(ALICEVISION_HAVE_CCTAG) case EImageDescriberType::CCTAG3: @@ -113,6 +115,9 @@ EImageDescriberType EImageDescriberType_stringToEnum(const std::string& imageDes if (type == "akaze_mldb") return EImageDescriberType::AKAZE_MLDB; + if (type == "generic") + return EImageDescriberType::GENERIC; + #if ALICEVISION_IS_DEFINED(ALICEVISION_HAVE_CCTAG) if (type == "cctag3") return EImageDescriberType::CCTAG3; diff --git a/src/aliceVision/feature/imageDescriberCommon.hpp b/src/aliceVision/feature/imageDescriberCommon.hpp index 678d81cf02..75cc77f9bf 100644 --- a/src/aliceVision/feature/imageDescriberCommon.hpp +++ b/src/aliceVision/feature/imageDescriberCommon.hpp @@ -27,7 +27,9 @@ enum class EImageDescriberType : unsigned char AKAZE = 20, AKAZE_LIOP = 21, - AKAZE_MLDB = 22 + AKAZE_MLDB = 22, + + GENERIC = 100 #if ALICEVISION_IS_DEFINED(ALICEVISION_HAVE_CCTAG) , @@ -111,7 +113,8 @@ inline float getStrongSupportCoeff(EImageDescriberType imageDescriberType) case EImageDescriberType::AKAZE_LIOP: case EImageDescriberType::AKAZE_MLDB: return 0.14f; - + case EImageDescriberType::GENERIC: + return -1.0f; #if ALICEVISION_IS_DEFINED(ALICEVISION_HAVE_CCTAG) case EImageDescriberType::CCTAG3: case EImageDescriberType::CCTAG4: diff --git a/src/aliceVision/matching/svgVisualization.cpp b/src/aliceVision/matching/svgVisualization.cpp index 1f448d2d6d..bc482a4bc0 100644 --- a/src/aliceVision/matching/svgVisualization.cpp +++ b/src/aliceVision/matching/svgVisualization.cpp @@ -36,6 +36,10 @@ std::string describerTypeColor(feature::EImageDescriberType descType) return "purple"; case feature::EImageDescriberType::AKAZE_MLDB: return "purple"; + + case feature::EImageDescriberType::GENERIC: + return "black"; + #if ALICEVISION_IS_DEFINED(ALICEVISION_HAVE_CCTAG) case feature::EImageDescriberType::CCTAG3: return "blue";