18

我正在运行的问题是从图像中提取文本,为此我使用了 Tesseract v3.02。我必须从中提取文本的示例图像与仪表读数有关。其中一些具有实心纸背景,其中一些具有 LED 显示屏。我已经为实体表背景训练了数据集,结果有些有效。

我现在遇到的主要问题是带有 LED/LCD 背景的文本图像,Tesseract 无法识别,因此没有生成训练集。

任何人都可以指导我如何将 Tesseract 与七段显示器(LCD/LED 背景)一起使用,或者我可以使用其他替代方法来代替 Tesseract。

LED背景图1 LED背景图2 Meter 1 带纯色纸背景 在此处输入图像描述 在此处输入图像描述

4

3 回答 3

6

https://github.com/upupnaway/digital-display-character-rec/blob/master/digital_display_ocr.py

使用 openCV 和 tesseract 以及“letsgodigital”训练数据做到这一点

- 步骤包括边缘检测和使用最大轮廓提取显示。然后使用 otsu 或二值化阈值图像并将其传递给 pytesseracts image_to_string 函数。

于 2016-08-14T03:49:21.993 回答
5

这似乎是一个图像预处理任务。Tesseract 真的希望它的图像都是位图格式的黑白文本。如果你给它一些不是那样的东西,它会尽力将它转换为那种格式。如何做到这一点并不是很聪明。使用一些图像处理工具(我碰巧喜欢 imagemagick),您需要使图像更符合 tesseract 的要求。一个简单的第一步可能是做一个小半径高斯模糊,阈值非常低(你试图只保留黑色,所以 15% 看起来是正确的),然后反转图像。

然后,困难的部分变成知道要执行哪个预处理任务。如果您有元数据告诉您正在处理哪种显示,那就太好了。如果不是,我怀疑您可以查看图像颜色直方图,以至少确定您的文本是黑底白字还是黑底白字。如果只有这些场景,黑底白字总是纯色背景,而黑底白字总是七段显示,那么你就完成了。如果没有,你就必须聪明。祝你好运,请告诉我们你的想法。

于 2013-07-17T16:29:48.330 回答
4

看看这个项目:

https://github.com/arturaugusto/display_ocr

在那里,您可以下载 7 段字体的训练数据和具有一些预处理功能的 python 脚本。

于 2014-11-21T16:31:30.287 回答