ABBYY OCR SDK: я пробую пример сценария для распознавания визиток, но не получаю вывод - PullRequest
2 голосов
/ 03 апреля 2012

Я пытаюсь использовать OCR SDK в PHP от ABBYY.com для распознавания визитных карточек.У меня есть следующий код, чтобы проверить, как это работает.Когда я выполняю код, я получаю пустой вывод.Где я могу ошибаться в коде?


$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 "&lt/pre>";

Изображение визитной карточки samle можно увидеть на http://test.goje87.com/vangal/businesscard.jpg

1 Ответ

3 голосов
/ 19 августа 2012

Я не знаю много о Abbyy SDK. Но перед тем, как попробовать любой механизм распознавания на изображении, вы всегда должны убедиться, что ...

  • ... обрезать все границы разными цветами,
  • ... масштабируйте изображение, чтобы получить текст (виртуальный) размером не менее 10 пт на 300 DPI.

Я попробовал Tesseract v3.01 на вашем оригинальном образце, но ничего не нашел.

Затем я применил команду ImageMagick, чтобы обрезать границы и масштабировать изображение до 200% следующим образом:

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

чтобы получить эту картинку:

Cropped businesscard

Это уже позволяет командной строке Tesseract распознавать большую часть текста (она не работает на @ и .):

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

Скорее всего, можно было бы получить показатель распознавания Тессеракта близко к 100%, если бы я ...

  • ... улучшить качество изображения для целей оптического распознавания текста: увеличить контраст и преобразовать в чистые оттенки серого («бинаризация»);
  • ... 'train' Tesseract для конкретного шрифта, используемого в этом документе.

Полагаю, что вы можете облегчить жизнь Эбби с помощью аналогичных мер ...

...