This commit is contained in:
matlabbe 2020-05-27 18:11:33 -04:00
commit d0b456ff40
3 changed files with 26 additions and 16 deletions

View File

@ -55,6 +55,16 @@ ADD_DEFINITIONS(-DPROJECT_NAME="${PROJECT_NAME}")
####### DEPENDENCIES ####### ####### DEPENDENCIES #######
FIND_PACKAGE(OpenCV REQUIRED) # tested on 2.3.1 FIND_PACKAGE(OpenCV REQUIRED) # tested on 2.3.1
# check if version status is "-dev" (SIFT compatibility issue between 4.3.0 vs 4.3.0-dev)
FIND_FILE(OpenCV_VERSION_HPP opencv2/core/version.hpp
PATHS ${OpenCV_INCLUDE_DIRS}
NO_DEFAULT_PATH)
FILE(READ ${OpenCV_VERSION_HPP} TMPTXT)
STRING(FIND "${TMPTXT}" "-dev" matchres)
IF(NOT ${matchres} EQUAL -1)
add_definitions(-DOPENCV_DEV)
ENDIF(NOT ${matchres} EQUAL -1)
# For SuperPoint # For SuperPoint
SET(TORCH 0) SET(TORCH 0)
FIND_PACKAGE(Torch QUIET) FIND_PACKAGE(Torch QUIET)
@ -289,21 +299,21 @@ IF(NOT CATKIN_BUILD)
ENDIF() ENDIF()
ELSE() ELSE()
IF(OPENCV_XFEATURES2D_FOUND) IF(OPENCV_XFEATURES2D_FOUND)
MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION_MAJOR} xfeatures2d module (BRIEF/FREAK/KAZE) = YES") MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION} xfeatures2d module (BRIEF/FREAK/KAZE) = YES")
ELSE() ELSE()
MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION_MAJOR} xfeatures2d module (BRIEF/FREAK/KAZE) = NO (not found)") MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION} xfeatures2d module (BRIEF/FREAK/KAZE) = NO (not found)")
ENDIF() ENDIF()
IF(OpenCV_VERSION VERSION_GREATER "4.2.0") IF(OpenCV_VERSION VERSION_GREATER "4.2.0")
IF(NONFREE) IF(NONFREE)
MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION_MAJOR} nonfree module (SURF) = YES") MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION} nonfree module (SURF) = YES")
ELSE() ELSE()
MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION_MAJOR} nonfree module (SURF) = NO") MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION} nonfree module (SURF) = NO")
ENDIF() ENDIF()
ELSEIF() ELSEIF()
IF(NONFREE) IF(NONFREE)
MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION_MAJOR} nonfree module (SIFT/SURF) = YES") MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION} nonfree module (SIFT/SURF) = YES")
ELSE() ELSE()
MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION_MAJOR} nonfree module (SIFT/SURF) = NO") MESSAGE(STATUS " With OpenCV ${OpenCV_VERSION} nonfree module (SIFT/SURF) = NO")
ENDIF() ENDIF()
ENDIF() ENDIF()
ENDIF() ENDIF()

View File

@ -346,7 +346,7 @@ void ParametersToolBox::addParameter(QVBoxLayout * layout,
if(key.compare(Settings::kFeature2D_1Detector()) == 0) if(key.compare(Settings::kFeature2D_1Detector()) == 0)
{ {
#if FINDOBJECT_NONFREE == 0 #if FINDOBJECT_NONFREE == 0
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) // <4.3.0 #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
widget->setItemData(5, 0, Qt::UserRole - 1); // disable SIFT widget->setItemData(5, 0, Qt::UserRole - 1); // disable SIFT
#endif #endif
widget->setItemData(7, 0, Qt::UserRole - 1); // disable SURF widget->setItemData(7, 0, Qt::UserRole - 1); // disable SURF
@ -368,7 +368,7 @@ void ParametersToolBox::addParameter(QVBoxLayout * layout,
if(key.compare(Settings::kFeature2D_2Descriptor()) == 0) if(key.compare(Settings::kFeature2D_2Descriptor()) == 0)
{ {
#if FINDOBJECT_NONFREE == 0 #if FINDOBJECT_NONFREE == 0
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) // <4.3.0 #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
widget->setItemData(2, 0, Qt::UserRole - 1); // disable SIFT widget->setItemData(2, 0, Qt::UserRole - 1); // disable SIFT
#endif #endif
widget->setItemData(3, 0, Qt::UserRole - 1); // disable SURF widget->setItemData(3, 0, Qt::UserRole - 1); // disable SURF

View File

@ -137,7 +137,7 @@ ParametersMap Settings::loadSettings(const QString & fileName)
int index = str.split(':').first().toInt(); int index = str.split(':').first().toInt();
if(key.compare(Settings::kFeature2D_1Detector()) == 0) if(key.compare(Settings::kFeature2D_1Detector()) == 0)
{ {
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
#if FINDOBJECT_NONFREE == 0 #if FINDOBJECT_NONFREE == 0
if(index == 5 || index == 7) if(index == 5 || index == 7)
{ {
@ -171,7 +171,7 @@ ParametersMap Settings::loadSettings(const QString & fileName)
} }
else if(key.compare(Settings::kFeature2D_2Descriptor()) == 0) else if(key.compare(Settings::kFeature2D_2Descriptor()) == 0)
{ {
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
#if FINDOBJECT_NONFREE == 0 #if FINDOBJECT_NONFREE == 0
if(index == 2 || index == 3) if(index == 2 || index == 3)
{ {
@ -711,7 +711,7 @@ Feature2D * Settings::createKeypointDetector()
{ {
//check for nonfree stuff //check for nonfree stuff
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
#if FINDOBJECT_NONFREE == 0 #if FINDOBJECT_NONFREE == 0
if(strategies.at(index).compare("SIFT") == 0 || if(strategies.at(index).compare("SIFT") == 0 ||
strategies.at(index).compare("SURF") == 0) strategies.at(index).compare("SURF") == 0)
@ -997,7 +997,7 @@ Feature2D * Settings::createKeypointDetector()
#endif #endif
UDEBUG("type=%s", strategies.at(index).toStdString().c_str()); UDEBUG("type=%s", strategies.at(index).toStdString().c_str());
} }
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) // <4.3.0 #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
#if FINDOBJECT_NONFREE == 1 #if FINDOBJECT_NONFREE == 1
else if(strategies.at(index).compare("SIFT") == 0) else if(strategies.at(index).compare("SIFT") == 0)
{ {
@ -1052,7 +1052,7 @@ Feature2D * Settings::createKeypointDetector()
} }
} }
#endif #endif
#else // >= 4.3.0 #else // >= 4.3.0-dev
else if(strategies.at(index).compare("SIFT") == 0) else if(strategies.at(index).compare("SIFT") == 0)
{ {
feature2D = new Feature2D(cv::SIFT::create( feature2D = new Feature2D(cv::SIFT::create(
@ -1126,7 +1126,7 @@ Feature2D * Settings::createDescriptorExtractor()
{ {
//check for nonfree stuff //check for nonfree stuff
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
#if FINDOBJECT_NONFREE == 0 #if FINDOBJECT_NONFREE == 0
if(strategies.at(index).compare("SIFT") == 0 || if(strategies.at(index).compare("SIFT") == 0 ||
strategies.at(index).compare("SURF") == 0) strategies.at(index).compare("SURF") == 0)
@ -1352,7 +1352,7 @@ Feature2D * Settings::createDescriptorExtractor()
UDEBUG("type=%s", strategies.at(index).toStdString().c_str()); UDEBUG("type=%s", strategies.at(index).toStdString().c_str());
} }
#endif #endif
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION < 3) // <4.3.0 #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && (CV_MINOR_VERSION < 3 || (CV_MINOR_VERSION==3 && !defined(OPENCV_DEV))))
#if FINDOBJECT_NONFREE == 1 #if FINDOBJECT_NONFREE == 1
else if(strategies.at(index).compare("SIFT") == 0) else if(strategies.at(index).compare("SIFT") == 0)
{ {
@ -1407,7 +1407,7 @@ Feature2D * Settings::createDescriptorExtractor()
} }
} }
#endif #endif
#else // >= 4.3.0 #else // >= 4.3.0-dev
else if(strategies.at(index).compare("SIFT") == 0) else if(strategies.at(index).compare("SIFT") == 0)
{ {
feature2D = new Feature2D(cv::SIFT::create( feature2D = new Feature2D(cv::SIFT::create(