Tesseract - 识别文本问题

Posted

技术标签:

【中文标题】Tesseract - 识别文本问题【英文标题】:Tesseract - Recognizing text problems 【发布时间】:2018-01-16 01:21:00 【问题描述】:

我在使用 Tesseract 识别文本时遇到问题,需要一些帮助。

第一个是非常模糊的输入,无法识别:

第二个是给出错误结果的输入:

返回这个损坏的结果:

“I 曲轴力 每次燃烧发生时,当曲轴将扭矩传递到输出轴时,力会使曲轴偏转。这种偏转以两种方式发生,使轴侧向沙子以扭转轴Thec an-k mum. ran ankshaft 偏转与零件的工作粗糙度直接相关。当来回往复时”

我使用这个 php 命令行调用 windows exe,也许可以对其进行修改以获得更好的结果:

$exe = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe';
$image = 'Book.png';
$output = 'Out';
$language = ''; // '-l deu' = German etc

$img = 'Images/' . $image; 

exec("\"$exe\" \"$img\" \"$output\" $language "); 

我怎样才能为两张图片返回正确的结果?

【问题讨论】:

根据我使用 tesseract 的经验,这是一个平均结果。文本的轻微旋转可能会导致这些问题,您是否考虑过更正? 我该怎么做? 我推荐 phpgd 库或 Imagick。但真正的问题是检测旋转,因为我认为你想识别各种图像,而不仅仅是这张,你可以事先定义旋转。或者您是否可以手动定义每个图像的旋转? 它必须自动完成,因为每次输入都会不同。也可以使用另一个 exe 命令行应用程序进行自动图像校正,因为我在 Windows 上使用 tesseract。 【参考方案1】:

使用 ImageMagick 和形态学关闭和打开一个可以改善第一张图像。

convert jrxjek.png -morphology close diamond:1 -morphology open diamond:1 jrxjek_close_open.png

将我的一个 bash unix shell 脚本与 ImageMagick 结合使用,可以自动检测文本图像中的旋转并歪斜/取消旋转它。

textdeskew crankshaft.png crankshaft_textdeskew.png

在http://www.fmwconcepts.com/imagemagick/index.html查看我的脚本

【讨论】:

以上是关于Tesseract - 识别文本问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Tesseract OCR 库(iOS)根本无法识别文本?

文本的检测识别实战:使用 Tesseract 进行 OpenCV OCR 和文本识别

如何在 Android 中使用 OpenCV+Tesseract 进行准确的文本识别?

如何在 iOS 中使用 Tesseract OCR 库从图像中识别准确的文本?

项目实战 | YOLOv5 + Tesseract-OCR 实现车牌号文本识别

ffmpeg Tesseract-OCR 识别文字滤镜 中文识别输出文本