use shell command tesseract in perl script to prin

2019-08-15 21:00发布

问题:

Hi i have some script that i want to write, first i took from the html the image, and then i wanted to use tesseract to take the output txt from it. i cant really figure out how to do it.

Here is the code:

#!/usr/bin/perl -X


##########
$user = ''; # Enter your username here
$pass = ''; # Enter your password here
###########

# Server settings (no need to modify)
$home = "http://37.48.90.31";
$url  = "$home/c/test.cgi?u=$user&p=$pass";

# Get HTML code
$html = `GET "$url"`;

#### Add code here:
# Grab img from HTML code

if ($html =~ /\img[^>]* src=\"([^\"]*)\"[^>]*/) {
    $takeImg = $1;
    }
@dirs = split m!/!, $takeImg;
$img = $dirs[2];
#########
die "<img> not found\n" if (!$img);


# Download img to server (save as: ocr_me.img)
print "GET '$img' > ocr_me.img\n";
system "GET '$img' > ocr_me.img";


#### Add code here:
# Run OCR (using shell command tesseract) on img and save text as       ocr_result.txt
system ("tesseract", "tesseract ocr_me.img ocr_result");


###########
die "ocr_result.txt not found\n" if (!-e "ocr_result.txt");

# Check OCR results:
$txt = `cat ocr_result.txt`;

I took the image right from the html or i need another Regex? and how to display the 'ocr_result.txt'

Thanks for all who will help!

标签: regex perl shell