Tesseract - 检测图像的小字体大小并转换为文本

时间:2018-06-05 11:06:17

标签: php image-processing imagemagick ocr tesseract

我有银行支票的截图,我需要此屏幕截图中的所有文字,但tesseract无法正确阅读。我也尝试对图像进行预处理,但输出失败了。

我使用ImageMagick进行预处理,使用Tesseract识别文本。 指向图片的链接:https://imgur.com/a/pcgizic

我可以检索帐号,但不能检索IFSC代码和人名" SRINIVAS"

我所遵循的步骤如下:

magick -density 300 check1.jpg -depth 8 -strip -background white -alpha off check1.png

magick convert check1.png -resize 250% res_check1.png

convert -brightness-contrast 10x30 res_check1.png b_res_check1.png

convert b_res_check1.png -threshold 45% bin_res_check1.png

tesseract bin_res_check1.png o_res_check1

注意:我尝试将图像调整到400%,但它不起作用。 Google Vision API能够正确读取和转换每个文本。

1 个答案:

答案 0 :(得分:1)

在ImageMagick中,您可以使用-lat(局部区域阈值)来处理图像以清理背景。我还有一个bash shell脚本,文本清理器,http://www.fmwconcepts.com/imagemagick/index.php

输入:

enter image description here

对于ImageMagick 6,请尝试

convert input.jpg -negate -lat 25x25+10% -negate result.png

改变-lat参数,看看你是否可以改善结果。

对于ImageMagick 7,用magick替换convert。

enter image description here

这有帮助吗?小字体很难处理。放大光栅图像通常不会有太大帮助。但您可以尝试使用锐化滤镜或更清晰的调整大小滤镜,例如-filter catrom。见http://www.imagemagick.org/Usage/filter/

您还可以尝试进行透视变换以在进一步处理之前纠正原始图像。这也可能有所帮助。见http://www.imagemagick.org/Usage/distorts/#perspective