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
6f51dd12
Commit
6f51dd12
authored
9 years ago
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6009 from patricksnape:flann_python_fix
parents
35014a97
05cfe286
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
9 deletions
+36
-9
matchers.cpp
modules/features2d/src/matchers.cpp
+36
-9
No files found.
modules/features2d/src/matchers.cpp
View file @
6f51dd12
...
...
@@ -517,30 +517,32 @@ DescriptorMatcher::~DescriptorMatcher()
void
DescriptorMatcher
::
add
(
InputArrayOfArrays
_descriptors
)
{
if
(
_descriptors
.
isUMatVector
()
)
if
(
_descriptors
.
isUMatVector
()
)
{
std
::
vector
<
UMat
>
descriptors
;
_descriptors
.
getUMatVector
(
descriptors
);
_descriptors
.
getUMatVector
(
descriptors
);
utrainDescCollection
.
insert
(
utrainDescCollection
.
end
(),
descriptors
.
begin
(),
descriptors
.
end
()
);
}
else
if
(
_descriptors
.
isUMat
()
)
else
if
(
_descriptors
.
isUMat
()
)
{
std
::
vector
<
UMat
>
descriptors
=
std
::
vector
<
UMat
>
(
1
,
_descriptors
.
getUMat
());
utrainDescCollection
.
insert
(
utrainDescCollection
.
end
(),
descriptors
.
begin
(),
descriptors
.
end
()
);
}
else
if
(
_descriptors
.
isMatVector
()
)
else
if
(
_descriptors
.
isMatVector
()
)
{
std
::
vector
<
Mat
>
descriptors
;
_descriptors
.
getMatVector
(
descriptors
);
trainDescCollection
.
insert
(
trainDescCollection
.
end
(),
descriptors
.
begin
(),
descriptors
.
end
()
);
}
else
if
(
_descriptors
.
isMat
()
)
else
if
(
_descriptors
.
isMat
()
)
{
std
::
vector
<
Mat
>
descriptors
=
std
::
vector
<
Mat
>
(
1
,
_descriptors
.
getMat
());
trainDescCollection
.
insert
(
trainDescCollection
.
end
(),
descriptors
.
begin
(),
descriptors
.
end
()
);
}
else
{
CV_Assert
(
_descriptors
.
isUMat
()
||
_descriptors
.
isUMatVector
()
||
_descriptors
.
isMat
()
||
_descriptors
.
isMatVector
()
);
}
}
const
std
::
vector
<
Mat
>&
DescriptorMatcher
::
getTrainDescriptors
()
const
...
...
@@ -1032,12 +1034,37 @@ FlannBasedMatcher::FlannBasedMatcher( const Ptr<flann::IndexParams>& _indexParam
void
FlannBasedMatcher
::
add
(
InputArrayOfArrays
_descriptors
)
{
DescriptorMatcher
::
add
(
_descriptors
);
std
::
vector
<
UMat
>
descriptors
;
_descriptors
.
getUMatVector
(
descriptors
);
for
(
size_t
i
=
0
;
i
<
descriptors
.
size
();
i
++
)
if
(
_descriptors
.
isUMatVector
()
)
{
std
::
vector
<
UMat
>
descriptors
;
_descriptors
.
getUMatVector
(
descriptors
);
for
(
size_t
i
=
0
;
i
<
descriptors
.
size
();
i
++
)
{
addedDescCount
+=
descriptors
[
i
].
rows
;
}
}
else
if
(
_descriptors
.
isUMat
()
)
{
addedDescCount
+=
_descriptors
.
getUMat
().
rows
;
}
else
if
(
_descriptors
.
isMatVector
()
)
{
addedDescCount
+=
descriptors
[
i
].
rows
;
std
::
vector
<
Mat
>
descriptors
;
_descriptors
.
getMatVector
(
descriptors
);
for
(
size_t
i
=
0
;
i
<
descriptors
.
size
();
i
++
)
{
addedDescCount
+=
descriptors
[
i
].
rows
;
}
}
else
if
(
_descriptors
.
isMat
()
)
{
addedDescCount
+=
_descriptors
.
getMat
().
rows
;
}
else
{
CV_Assert
(
_descriptors
.
isUMat
()
||
_descriptors
.
isUMatVector
()
||
_descriptors
.
isMat
()
||
_descriptors
.
isMatVector
()
);
}
}
...
...
This diff is collapsed.
Click to expand it.
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