【发布时间】:2017-08-27 14:41:32
【问题描述】:
我正在从事一个需要字符识别作为其中一部分的项目。我正在使用 IAM 的手写数据集,因此所有图像或多或少都是在相同条件下拍摄的。我正在使用数据集提供的单词图片并按照以下步骤操作
- 二值化和阈值化
- 将单词分成构成它的字符
- 调整提取字符的大小
- 让 tesseract 弄清楚英文字母是什么
我想要实现的是将一个人文档的字符存储在按字母分类的文件夹中,然后可能会在以后从它们中形成一个模板。为此,我需要知道它是哪个角色。
这是我得到的结果 -
所有字符都被正确分割(大多数情况下)。这更像是一个 tesseract 问题,而不是一个 python 问题,但我正在使用 python 编写脚本并通过 pytesseract 包装器调用 tesseract。
我正在使用 OpenCV 来操作图像。这些字母矩阵的图像作为输入发送到 tesseract(由 pytesseract 处理)。我向你保证,输入不是问题。我还需要做什么才能让 tesseract 工作吗?
这些字符都无法识别。
【问题讨论】:
-
您使用的是什么 tesseract 版本?您是从 cmd 还是从您的代码中使用它?什么是参数?
-
您传递给 Tesseract 的字母有多少像素高?
-
@DmitriiZ。 4.0 版。是的,我从代码中使用它。代码调用命令“tesseract input output”并返回输出。
-
@MarkSetchell 字母的宽度和高度分别为 20 和 30 像素。另外,我在边框上添加了一个小填充。
-
我们需要更多关于 tesseract 参数的信息。你对 tesseract 有经验吗?您使用的是哪个 XXX.traineddata 文件?您是否自己在手写数据集上对其进行了训练,或者从某个地方下载了经过训练的数据文件?您是否使用 LSTM?您是否尝试过在 cmd 中使用 tesseract?
标签: python opencv tesseract python-tesseract