#!/usr/bin/perl -w
###########################################
# Mike Schilli, 2007 ([email protected])
###########################################
use strict;
use Log::Log4perl qw(:easy);
use LCDOCR;
use Getopt::Std;

getopts("vd", \my %opts);
Log::Log4perl->easy_init($opts{v} ?
                        $DEBUG : $ERROR);
my($file, $x1, $y1, $x2, $y2) = @ARGV;
die "usage: $0 file x1 y1 x2 y2\n" unless
  defined $y2;

my $i = Imager->new();
$i->read(file => $file, type => "jpeg") or
   die "Can't read $file";

my $gr = Imager::Color->new(0, 255,0);
$i->circle(color=>$gr,r=>1,x=>$x1, y=>$y1);
$i->circle(color=>$gr,r=>1,x=>$x2, y=>$y2);

my $ocr = LCDOCR->new(
 name   => 'RSA1',
 x1_ref => $x1, y1_ref => $y1,
 x2_ref => $x2, y2_ref => $y2,
 image  => $i,
 debug  => ($opts{v}||0));

my $digits = $ocr->reco();

if($opts{v}) {
 my $font = Imager::Font->new(file =>
 "/usr/X11R6/lib/X11/fonts/TTF/Vera.ttf");

 $i->string(x => 50, y => 50,
   string => "Reco: @$digits",
   font   => $font, color => "white",
   size => 30);
 $i->write(file => "out1.jpg",
           type => "jpeg");
 system("xv out1.jpg") if $opts{d};
}
print join('', @$digits), "\n";