File Coverage

check_needles.pl
Criterion Covered Total %
statement 22 31 70.9
total 22 31 70.9


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   }