2012-04-03 18 views
2

Ich versuche, OCR SDK in PHP von ABBYY.com für die Erkennung von Visitenkarten zu verwenden. Ich habe den folgenden Code, nur um herauszufinden, wie es funktioniert. Wenn ich den Code ausführe, erhalte ich eine leere Ausgabe. Wo könnte ich den Code falsch verstehen?ABBYY OCR SDK: Ich versuche ein Beispielskript für die Erkennung von Visitenkarten, aber keine Ausgabe

 

$applicationId = "MyBusinessCardReader"; 
$password = "password"; 
$filename = "businesscard.jpg"; 
$localDir = dirname(__FILE__); 
$url = "http://cloud.ocrsdk.com/processBusinessCard"; 

$c = curl_init(); 
curl_setopt($c, CURLOPT_URL, $url); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($c, CURLOPT_USERPWD, "$applicationId:$password"); 
curl_setopt($c, CURLOPT_POST, 1); 

$post_array = array(
    "my_file" => "@$localDir$filename" 
); 

curl_setopt($c, CURLOPT_POSTFIELDS, $post_array); 
$response = curl_exec($c); 
curl_close($c); 

echo "<pre>"; 
echo $response; 
echo "</pre>"; 

Die samle Visitenkarte Bild kann bei http://test.goje87.com/vangal/businesscard.jpg

Antwort

2

Ich weiß nicht, über die Abbyy SDK viel zu sehen. Aber bevor Sie jede OCR-Engine auf ein Bild, versuchen, sollten Sie immer darauf achten, zu ...

  • ... Ernte alle Grenzen mit unterschiedlichen Farben,
  • ... das Bild skalieren, so dass Sie bekommen Ihren Text auf eine (virtuelle) Größe von mindestens 10 Punkten pro 300 DPI.

Ich habe versucht Tesseract v3.01 gegen Ihre ursprüngliche Probe, und es hat nichts gefunden.

Dann habe ich für einen ImageMagick Befehl, um die Grenzen zu beschneiden und das Bild zu 200% wie folgt skaliert:

convert     \ 
    businesscard.jpg \ 
    -crop 440x200+30+120 \ 
    -scale 180%   \ 
    cropped+scaled-businesscard.jpg 

dieses Bild zu bekommen:

Cropped businesscard

Auf diese Weise können bereits Command Tesseracts erkennen den größten Teil des Textes (es scheitert an @ und .):

tesseract b.jpg bcard && cat bcard.txt 

    Tesseract Open Source OCR Engine v3.01 with Leptonica 

    Fe/<70" 
    MIKE FARAG 
    PH 913 284 6455 
    EM milzeocreatefervoncom 
    Tw 0mil<efarag01 
    createfervoncom 

Man könnte am ehesten erhalten Tesseracts Erkennungsrate von nahezu 100%, wenn ich würde ...

  • ... verbessern die Bildqualität für OCR Zwecke: Kontrast erhöhen und wandeln auf reine Graustufen (‚Digitalisierungs‘);
  • ... 'Zug' Tesseract auf die spezifische Schriftart in diesem Dokument verwendet.

Ich gehe davon aus, dass Sie Abbyy das Leben leichter durch ähnliche Maßnahmen machen ...