Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
29144436
Commit
29144436
authored
Oct 16, 2017
by
Vadim Pisarevsky
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9848 from jet47:features2d-optional-flann-dep
parents
fef1f9b0
26fe8bd4
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
36 additions
and
3 deletions
+36
-3
circlesgrid.cpp
modules/calib3d/src/circlesgrid.cpp
+7
-0
test_chesscorners.cpp
modules/calib3d/test/test_chesscorners.cpp
+2
-0
CMakeLists.txt
modules/features2d/CMakeLists.txt
+1
-1
features2d.hpp
modules/features2d/include/opencv2/features2d.hpp
+7
-0
matchers.cpp
modules/features2d/src/matchers.cpp
+10
-1
test_matchers_algorithmic.cpp
modules/features2d/test/test_matchers_algorithmic.cpp
+2
-0
test_nearestneighbors.cpp
modules/features2d/test/test_nearestneighbors.cpp
+6
-0
CMakeLists.txt
modules/stitching/CMakeLists.txt
+1
-1
No files found.
modules/calib3d/src/circlesgrid.cpp
View file @
29144436
...
...
@@ -392,6 +392,12 @@ void CirclesGridClusterFinder::rectifyPatternPoints(const std::vector<cv::Point2
void
CirclesGridClusterFinder
::
parsePatternPoints
(
const
std
::
vector
<
cv
::
Point2f
>
&
patternPoints
,
const
std
::
vector
<
cv
::
Point2f
>
&
rectifiedPatternPoints
,
std
::
vector
<
cv
::
Point2f
>
&
centers
)
{
#ifndef HAVE_OPENCV_FLANN
(
void
)
patternPoints
;
(
void
)
rectifiedPatternPoints
;
(
void
)
centers
;
CV_Error
(
Error
::
StsNotImplemented
,
"The desired functionality requires flann module, which was disabled."
);
#else
flann
::
LinearIndexParams
flannIndexParams
;
flann
::
Index
flannIndex
(
Mat
(
rectifiedPatternPoints
).
reshape
(
1
),
flannIndexParams
);
...
...
@@ -425,6 +431,7 @@ void CirclesGridClusterFinder::parsePatternPoints(const std::vector<cv::Point2f>
}
}
}
#endif
}
Graph
::
Graph
(
size_t
n
)
...
...
modules/calib3d/test/test_chesscorners.cpp
View file @
29144436
...
...
@@ -468,6 +468,8 @@ bool CV_ChessboardDetectorTest::checkByGenerator()
TEST
(
Calib3d_ChessboardDetector
,
accuracy
)
{
CV_ChessboardDetectorTest
test
(
CHESSBOARD
);
test
.
safe_run
();
}
TEST
(
Calib3d_CirclesPatternDetector
,
accuracy
)
{
CV_ChessboardDetectorTest
test
(
CIRCLES_GRID
);
test
.
safe_run
();
}
TEST
(
Calib3d_AsymmetricCirclesPatternDetector
,
accuracy
)
{
CV_ChessboardDetectorTest
test
(
ASYMMETRIC_CIRCLES_GRID
);
test
.
safe_run
();
}
#ifdef HAVE_OPENCV_FLANN
TEST
(
Calib3d_AsymmetricCirclesPatternDetectorWithClustering
,
accuracy
)
{
CV_ChessboardDetectorTest
test
(
ASYMMETRIC_CIRCLES_GRID
,
CALIB_CB_CLUSTERING
);
test
.
safe_run
();
}
#endif
/* End of file. */
modules/features2d/CMakeLists.txt
View file @
29144436
set
(
the_description
"2D Features Framework"
)
ocv_define_module
(
features2d opencv_imgproc
opencv_flann OPTIONAL
opencv_highgui WRAP java python
)
ocv_define_module
(
features2d opencv_imgproc
OPTIONAL opencv_flann
opencv_highgui WRAP java python
)
modules/features2d/include/opencv2/features2d.hpp
View file @
29144436
...
...
@@ -43,8 +43,12 @@
#ifndef OPENCV_FEATURES_2D_HPP
#define OPENCV_FEATURES_2D_HPP
#include "opencv2/opencv_modules.hpp"
#include "opencv2/core.hpp"
#ifdef HAVE_OPENCV_FLANN
#include "opencv2/flann/miniflann.hpp"
#endif
/**
@defgroup features2d 2D Features Framework
...
...
@@ -1099,6 +1103,7 @@ protected:
bool
crossCheck
;
};
#if defined(HAVE_OPENCV_FLANN) || defined(CV_DOXYGEN)
/** @brief Flann-based descriptor matcher.
...
...
@@ -1145,6 +1150,8 @@ protected:
int
addedDescCount
;
};
#endif
//! @} features2d_match
/****************************************************************************************\
...
...
modules/features2d/src/matchers.cpp
View file @
29144436
...
...
@@ -1005,11 +1005,14 @@ void BFMatcher::radiusMatchImpl( InputArray _queryDescriptors, std::vector<std::
Ptr
<
DescriptorMatcher
>
DescriptorMatcher
::
create
(
const
String
&
descriptorMatcherType
)
{
Ptr
<
DescriptorMatcher
>
dm
;
#ifdef HAVE_OPENCV_FLANN
if
(
!
descriptorMatcherType
.
compare
(
"FlannBased"
)
)
{
dm
=
makePtr
<
FlannBasedMatcher
>
();
}
else
if
(
!
descriptorMatcherType
.
compare
(
"BruteForce"
)
)
// L2
else
#endif
if
(
!
descriptorMatcherType
.
compare
(
"BruteForce"
)
)
// L2
{
dm
=
makePtr
<
BFMatcher
>
(
int
(
NORM_L2
));
// anonymous enums can't be template parameters
}
...
...
@@ -1044,9 +1047,11 @@ Ptr<DescriptorMatcher> DescriptorMatcher::create(int matcherType)
switch
(
matcherType
)
{
#ifdef HAVE_OPENCV_FLANN
case
FLANNBASED
:
name
=
"FlannBased"
;
break
;
#endif
case
BRUTEFORCE
:
name
=
"BruteForce"
;
break
;
...
...
@@ -1071,6 +1076,7 @@ Ptr<DescriptorMatcher> DescriptorMatcher::create(int matcherType)
}
#ifdef HAVE_OPENCV_FLANN
/*
* Flann based matcher
...
...
@@ -1419,4 +1425,7 @@ void FlannBasedMatcher::radiusMatchImpl( InputArray _queryDescriptors, std::vect
convertToDMatches
(
mergedDescriptors
,
indices
,
dists
,
matches
);
}
#endif
}
modules/features2d/test/test_matchers_algorithmic.cpp
View file @
29144436
...
...
@@ -536,12 +536,14 @@ TEST( Features2d_DescriptorMatcher_BruteForce, regression )
test
.
safe_run
();
}
#ifdef HAVE_OPENCV_FLANN
TEST
(
Features2d_DescriptorMatcher_FlannBased
,
regression
)
{
CV_DescriptorMatcherTest
test
(
"descriptor-matcher-flann-based"
,
DescriptorMatcher
::
create
(
"FlannBased"
),
0.04
f
);
test
.
safe_run
();
}
#endif
TEST
(
Features2d_DMatch
,
read_write
)
{
...
...
modules/features2d/test/test_nearestneighbors.cpp
View file @
29144436
...
...
@@ -49,7 +49,9 @@
using
namespace
std
;
using
namespace
cv
;
#ifdef HAVE_OPENCV_FLANN
using
namespace
cv
::
flann
;
#endif
//--------------------------------------------------------------------------------
class
NearestNeighborTest
:
public
cvtest
::
BaseTest
...
...
@@ -158,6 +160,8 @@ void NearestNeighborTest::run( int /*start_from*/ ) {
}
//--------------------------------------------------------------------------------
#ifdef HAVE_OPENCV_FLANN
class
CV_FlannTest
:
public
NearestNeighborTest
{
public
:
...
...
@@ -331,3 +335,5 @@ TEST(Features2d_FLANN_KDTree, regression) { CV_FlannKDTreeIndexTest test; test.s
TEST
(
Features2d_FLANN_Composite
,
regression
)
{
CV_FlannCompositeIndexTest
test
;
test
.
safe_run
();
}
TEST
(
Features2d_FLANN_Auto
,
regression
)
{
CV_FlannAutotunedIndexTest
test
;
test
.
safe_run
();
}
TEST
(
Features2d_FLANN_Saved
,
regression
)
{
CV_FlannSavedIndexTest
test
;
test
.
safe_run
();
}
#endif
modules/stitching/CMakeLists.txt
View file @
29144436
...
...
@@ -8,6 +8,6 @@ set(STITCHING_CONTRIB_DEPS "opencv_xfeatures2d")
if
(
BUILD_SHARED_LIBS AND BUILD_opencv_world AND OPENCV_WORLD_EXCLUDE_EXTRA_MODULES
)
set
(
STITCHING_CONTRIB_DEPS
""
)
endif
()
ocv_define_module
(
stitching opencv_imgproc opencv_features2d opencv_calib3d
ocv_define_module
(
stitching opencv_imgproc opencv_features2d opencv_calib3d
opencv_flann
OPTIONAL opencv_cudaarithm opencv_cudawarping opencv_cudafeatures2d opencv_cudalegacy
${
STITCHING_CONTRIB_DEPS
}
WRAP python
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment