line |
stmt |
code |
1
|
|
#!/usr/bin/perl -w |
2
|
|
|
3
|
1
|
use Mojo::Base -strict, -signatures; |
|
1
|
|
|
1
|
|
4
|
1
|
use File::Basename; |
|
1
|
|
|
1
|
|
5
|
1
|
use needle; |
|
1
|
|
|
1
|
|
6
|
1
|
use cv; |
|
1
|
|
|
1
|
|
7
|
|
|
8
|
1
|
cv::init(); |
9
|
1
|
require tinycv; |
10
|
|
|
11
|
1
|
my ($res, $needle, $img); |
12
|
1
|
my $ndir = $ARGV[0] || "."; |
13
|
1
|
my @jsons = glob "${ndir}/*.json"; |
14
|
1
|
my @pngs = glob "${ndir}/*.png"; |
15
|
|
|
16
|
1
|
foreach my $json (@jsons) { |
17
|
0
|
my $bnjson = basename($json, ".json"); |
18
|
0
|
$needle = needle->new($json); |
19
|
0
|
foreach my $png (@pngs) { |
20
|
0
|
my $bnpng = basename($png, ".png"); |
21
|
0
|
$img = tinycv::read($png); |
22
|
0
|
$res = $img->search($needle); |
23
|
0
|
if ($res) { |
24
|
0
|
print "Needle ambiguity: [Needle] " . $bnjson . " - [Image] " . $bnpng . " [" . $res->{similarity} . "]\n" if $bnjson ne $bnpng; |
25
|
|
} |
26
|
|
else { |
27
|
0
|
print "Needle does not match itself: [Needle] " . $bnjson . " - [Image] " . $bnpng . "\n" if $bnjson eq $bnpng; |
28
|
|
} |
29
|
|
} |
30
|
|
} |