Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Herman Andersen Dyrkorn
Salamander - API
Commits
4e85fd35
Commit
4e85fd35
authored
Jun 09, 2021
by
Anders Langlie
🦀
Browse files
Merge branch '44-make-matching-more-efficient' into 'master'
Resolve "Make matching more efficient" Closes
#44
See merge request
!47
parents
4a65aeb2
58a802d3
Changes
2
Hide whitespace changes
Inline
Side-by-side
algorithm/brute_force_matching.py
View file @
4e85fd35
...
...
@@ -5,12 +5,10 @@ import glob
min_good_match
=
15
match_dist
=
0.75
def
match_single_image
(
input_image
,
match_image
):
bf
=
cv2
.
BFMatcher
()
input_salamander
=
create_salamander_image
(
input_image
)
match_salamander
=
create_salamander_image
(
match_image
)
match
=
bf
.
knnMatch
(
input_salamander
.
descriptors
,
match_salamander
.
descriptors
,
k
=
2
)
def
match_single_image
(
input_salamander
,
match_salamander
):
match
=
cv2
.
BFMatcher
().
knnMatch
(
input_salamander
.
descriptors
,
match_salamander
.
descriptors
,
k
=
2
)
goodmatch
=
[]
for
m
,
n
in
match
:
...
...
@@ -20,15 +18,18 @@ def match_single_image(input_image, match_image):
return
True
,
len
(
goodmatch
)
return
False
,
0
def
match_file_structure
(
input_image
:
str
,
match_directory
:
str
):
best_match
=
-
1
match_count
=
0
# check if input path is valid:
if
os
.
path
.
isfile
(
input_image
):
input_salamander
=
create_salamander_image
(
input_image
)
for
folder
in
os
.
listdir
(
match_directory
):
name_list
=
glob
.
glob
(
os
.
path
.
join
(
match_directory
,
folder
,
"*_str.*"
))
for
filename
in
name_list
:
res
,
num_matches
=
match_single_image
(
input_
image
,
filename
)
res
,
num_matches
=
match_single_image
(
input_
salamander
,
create_salamander_image
(
filename
)
)
if
res
and
num_matches
>
match_count
:
match_count
=
num_matches
best_match
=
int
(
folder
)
...
...
algorithm/imageprocessing.py
View file @
4e85fd35
...
...
@@ -9,7 +9,7 @@ import algorithm.dsift as dsift
import
algorithm.segmentation
as
segmentation
def
create_salamander_image
(
filename
:
str
):
print
(
"Processing image "
+
filename
)
#
print("Processing image " + filename)
salamander_image
=
SalamanderImage
(
filename
)
salamander_image
.
filename
=
filename
...
...
Write
Preview
Supports
Markdown
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