首页 文章

ABBYY OCR SDK:我正在尝试一个示例脚本来识别名片但没有获得任何输出

提问于
浏览
2

我正在尝试使用ABBYY.com的PHP中的OCR SDK来识别名片 . 我有以下代码只是为了检查它是如何工作的 . 当我执行代码时,我得到一个空白输出 . 我可能在代码上错误的地方?

$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>";

可以在http://test.goje87.com/vangal/businesscard.jpg看到samle名片图片

1 回答

  • 2

    我对Abbyy SDK了解不多 . 但在您尝试在图像上使用任何OCR引擎之前,您应始终确保...

    • ...使用不同颜色裁剪所有边框,

    • ...缩放图像,使文本的(虚拟)大小至少为每300 DPI 10 pt .

    我尝试了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
    

    如果我......我很可能会将Tesseract的识别率接近100% .

    • ...为OCR目的提高图像质量:增加对比度并转换为纯灰度('binarization');

    • ... 'train' Tesseract对本文档中使用的特定字体 .

    我认为你可以通过类似的措施让Abbyy的生活更轻松......

相关问题