2012-04-03 66 views
2

我正尝试在ABBYY.com的PHP中使用OCR SDK识别名片。我有下面的代码只是为了看看它是如何工作的。当我执行代码时,我得到一个空白输出。在哪里我可以gonig代码错误?ABBYY 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>"; 

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

回答

2

可以看出我不知道很多有关ABBYY SDK。但是你尝试图像上的任何 OCR引擎之前,您应始终确保...

  • ...作物不同的颜色所有边界,
  • ...缩放图像等你拿您的文字大小至少为每300 DPI 10个点(虚拟)。

我试着Tesseract v3.01对您的原始样品,它没有找到任何东西。

然后我施加了ImageMagick的命令裁剪边界和图像缩放到200%这样的:

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

得到这样的画面:

Cropped businesscard

这已经让正方体的命令行识别大多数文本的(失败的@.):

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用途的图像质量:提高对比度和转换为纯灰度(“二进制” );
  • ...'火车'Tesseract在本文使用的特定字体。

我认为你可以让ABBYY的生活更容易通过类似的措施...

相关问题