Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
testXmlConfigParserKeyPoint.cpp
1
/*
2
* ViSP, open source Visual Servoing Platform software.
3
* Copyright (C) 2005 - 2024 by Inria. All rights reserved.
4
*
5
* This software is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
* See the file LICENSE.txt at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using ViSP with software that can not be combined with the GNU
13
* GPL, please contact Inria about acquiring a ViSP Professional
14
* Edition License.
15
*
16
* See https://visp.inria.fr for more information.
17
*
18
* This software was developed at:
19
* Inria Rennes - Bretagne Atlantique
20
* Campus Universitaire de Beaulieu
21
* 35042 Rennes Cedex
22
* France
23
*
24
* If you have questions regarding the use of this file, please contact
25
* Inria at visp@inria.fr
26
*
27
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29
*
30
* Description:
31
* Test vpXmlConfigParserKeyPoint parse / save.
32
*/
33
39
40
#include <visp3/core/vpIoTools.h>
41
#include <visp3/vision/vpXmlConfigParserKeyPoint.h>
42
43
int
main()
44
{
45
#ifdef ENABLE_VISP_NAMESPACE
46
using namespace
VISP_NAMESPACE_NAME
;
47
#endif
48
49
#if defined(VISP_HAVE_PUGIXML)
50
std::string visp_images_dir =
vpIoTools::getViSPImagesDataPath
();
51
if
(
vpIoTools::checkDirectory
(visp_images_dir +
"/xml"
)) {
52
double
eps = std::numeric_limits<double>::epsilon();
53
{
54
std::string
filename
= visp_images_dir +
"/xml/detection-config.xml"
;
55
vpXmlConfigParserKeyPoint
xml;
56
xml.
parse
(filename);
57
58
if
(xml.
getDetectorName
() !=
"FAST"
|| xml.
getExtractorName
() !=
"ORB"
||
59
xml.
getMatcherName
() !=
"BruteForce-Hamming"
||
60
xml.
getMatchingMethod
() !=
vpXmlConfigParserKeyPoint::ratioDistanceThreshold
||
61
!
vpMath::equal
(xml.
getMatchingRatioThreshold
(), 0.8, eps) || !xml.
getUseRansacVVSPoseEstimation
() ||
62
!xml.
getUseRansacConsensusPercentage
() || !
vpMath::equal
(xml.
getRansacConsensusPercentage
(), 20.0, eps) ||
63
xml.
getNbRansacIterations
() != 200 || !
vpMath::equal
(xml.
getRansacThreshold
(), 0.005, eps)) {
64
std::cerr <<
"Issue when parsing xml: "
<<
filename
<< std::endl;
65
return
EXIT_FAILURE;
66
}
67
}
68
69
{
70
std::string
filename
= visp_images_dir +
"/xml/detection-config-SIFT.xml"
;
71
vpXmlConfigParserKeyPoint
xml;
72
xml.
parse
(filename);
73
74
if
(xml.
getDetectorName
() !=
"SIFT"
|| xml.
getExtractorName
() !=
"SIFT"
|| xml.
getMatcherName
() !=
"BruteForce"
||
75
xml.
getMatchingMethod
() !=
vpXmlConfigParserKeyPoint::ratioDistanceThreshold
||
76
!
vpMath::equal
(xml.
getMatchingRatioThreshold
(), 0.8, eps) || !xml.
getUseRansacVVSPoseEstimation
() ||
77
!xml.
getUseRansacConsensusPercentage
() || !
vpMath::equal
(xml.
getRansacConsensusPercentage
(), 20.0, eps) ||
78
xml.
getNbRansacIterations
() != 200 || !
vpMath::equal
(xml.
getRansacThreshold
(), 0.005, eps)) {
79
std::cerr <<
"Issue when parsing xml: "
<<
filename
<< std::endl;
80
return
EXIT_FAILURE;
81
}
82
}
83
}
84
#endif
85
return
EXIT_SUCCESS;
86
}
vpIoTools::getViSPImagesDataPath
static std::string getViSPImagesDataPath()
Definition
vpIoTools.cpp:1072
vpIoTools::checkDirectory
static bool checkDirectory(const std::string &dirname)
Definition
vpIoTools.cpp:413
vpMath::equal
static bool equal(double x, double y, double threshold=0.001)
Definition
vpMath.h:470
vpXmlConfigParserKeyPoint
Definition
vpXmlConfigParserKeyPoint.h:61
vpXmlConfigParserKeyPoint::getDetectorName
std::string getDetectorName() const
Definition
vpXmlConfigParserKeyPoint.cpp:513
vpXmlConfigParserKeyPoint::getMatchingRatioThreshold
double getMatchingRatioThreshold() const
Definition
vpXmlConfigParserKeyPoint.cpp:526
vpXmlConfigParserKeyPoint::getExtractorName
std::string getExtractorName() const
Definition
vpXmlConfigParserKeyPoint.cpp:515
vpXmlConfigParserKeyPoint::parse
void parse(const std::string &filename)
Definition
vpXmlConfigParserKeyPoint.cpp:511
vpXmlConfigParserKeyPoint::getUseRansacVVSPoseEstimation
bool getUseRansacVVSPoseEstimation() const
Definition
vpXmlConfigParserKeyPoint.cpp:546
vpXmlConfigParserKeyPoint::getUseRansacConsensusPercentage
bool getUseRansacConsensusPercentage() const
Definition
vpXmlConfigParserKeyPoint.cpp:541
vpXmlConfigParserKeyPoint::getMatcherName
std::string getMatcherName() const
Definition
vpXmlConfigParserKeyPoint.cpp:517
vpXmlConfigParserKeyPoint::getNbRansacIterations
int getNbRansacIterations() const
Definition
vpXmlConfigParserKeyPoint.cpp:528
vpXmlConfigParserKeyPoint::getRansacConsensusPercentage
double getRansacConsensusPercentage() const
Definition
vpXmlConfigParserKeyPoint.cpp:532
vpXmlConfigParserKeyPoint::ratioDistanceThreshold
@ ratioDistanceThreshold
Definition
vpXmlConfigParserKeyPoint.h:70
vpXmlConfigParserKeyPoint::getMatchingMethod
vpMatchingMethodEnum getMatchingMethod() const
Definition
vpXmlConfigParserKeyPoint.cpp:521
vpXmlConfigParserKeyPoint::getRansacThreshold
double getRansacThreshold() const
Definition
vpXmlConfigParserKeyPoint.cpp:539
VISP_NAMESPACE_NAME
Definition
vpEigenConversion.h:44
gen_java.filename
filename
Definition
gen_java.py:1294
modules
vision
test
keypoint-with-dataset
testXmlConfigParserKeyPoint.cpp
Generated by
1.17.0