3

我正在为我的项目使用 TessBaseAPI 制作一个简单的 OCR Android 应用程序。我已经完成了一些图像预处理步骤,例如二值化和图像增强。但他们的结果是 50% 到 60%。我们怎样才能提高识别率?

我包括两个示例图像。

http://imageshack.us/photo/my-images/94/1school.jpg/

http://imageshack.us/photo/my-images/43/15071917.jpg/

4

3 回答 3

3

上述命令的以下添加适用于您的第二个图像:

-negate \
-deskew 40% \
+repage \
-crop 393x110+0+0 \

他们为结果添加了适当水平的去偏斜和裁剪,让 Tesseract 的生活变得更轻松......

所以完整的命令应该如下,它会在我的系统上产生正确的结果:

convert 15071917.jpg            \
   -type grayscale              \
   -negate                      \
   -gamma 1                     \
   -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  \
   -normalize -normalize -normalize -normalize -normalize -normalize -normalize -normalize -normalize -normalize \
   -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle \
   -negate                      \
   -deskew 40%                  \
   +repage                      \
   -crop 393x110+0+0            \
    15071917.png                \
&&                              \
tesseract 15071917.png OUT && cat OUT.txt

  Tesseract Open Source OCR Engine v3.01 with Leptonica
    Page 0
    TESCO

这是原始图片(左)和修改后的命令的结果图片(右):  

于 2012-08-18T22:22:54.630 回答
1

此命令适用于我的第一个图像文件。我正在使用 ImageMagick 版本6.7.9-0 2012-08-17 Q16

convert 1school.jpg                           \
    -scale 1000%                              \
    -blur 1x65535 -blur 1x65535 -blur 1x65535 \
    -contrast                                 \
    -normalize                                \
    -despeckle                                \
    -despeckle                                \
    -type grayscale                           \
    -sharpen 1                                \
    -posterize 3                              \
    -negate 1school.tif                       \
&&                                            \
tesseract 1school.tif OUT && cat OUT.txt

  Tesseract Open Source OCR Engine v3.01 with Leptonica
    Page 0
     '
    SCHOOL
    ZONE

第二张图片需要不同的命令:

convert 15071917.jpg            \
   -type grayscale              \
   -negate                      \
   -gamma 1                     \
   -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  -contrast  \
   -normalize -normalize -normalize -normalize -normalize -normalize -normalize -normalize -normalize -normalize \
   -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle -despeckle \
    15071917.tif                \
&&                              \
tesseract 1school.tif OUT && cat OUT.txt

  Tesseract Open Source OCR Engine v3.01 with Leptonica
    Page 0
    TE§§IO

好吧,第二个没那么成功。但你明白了……

这是生成的图像。左边是原件,右边是命令的结果:

第一个原件 修改了第一个原件
 

于 2012-08-18T06:18:09.293 回答
1

我今天学了些新东西。在 Tesseract 3.01 中,让 OCR 工作的最简单方法似乎是首先对文本进行纠偏。

这是一个非常简单的命令,它只是剪切图像并稍微裁剪它,但不对原始图像进行任何对比度或颜色更改操作:

  convert 15071917.jpg  \
      -background pink  \
      -shear -0x6       \
      -crop 350x80+0+24 \
       tesco.jpg        \
  &&                    \
  tesseract tesco.jpg a  &&  cat a.txt

     Tesseract Open Source OCR Engine v3.01 with Leptonica
     TESCO

 

于 2012-08-18T23:33:56.940 回答