【发布时间】:2015-02-25 03:03:30
【问题描述】:
我一直在尝试使用 Tesseract 来识别一系列图像中的一些数字,并在寻求建议后进行了一些改进。到目前为止,我已经尝试了以下步骤:
- 以适当的阈值对图像进行二值化以挑选出数字
- 将 Tesseract 限制为仅限数字
- 使用多种方法放大图像(getScaledInstance 使用 Image.SCALE_SMOOTH,AffineTransform 使用 AffineTransformOp.TYPE_BICUBIC)
- 探索不同的 Tesseract 页面分割模式。当前使用模式 6。
这些数字在形状上都是相同的,并且完全对齐,尽管它们的边缘有些锯齿状。处理后的图像示例:
Tesseract 对这些没问题,但它经常混淆 8 与 3、6 与 5、9 与 5。
我一直在研究不同的方法来平滑图像并尝试不同的比例,但我也想知道只是通过训练 Tesseract 的过程是否更有意义。只有 10 个可能的值总是几乎相同,看起来学习识别它们应该不会太难,但训练 Tesseract 似乎也很痛苦。
关于如何在这些图像上从 Tesseract 获得最终精度的任何建议?
我正在使用 tess4j 和 Java,因此特别感谢 Java 特定的建议和库。虽然我愿意自己实现算法,但我不想重新发明轮子。
【问题讨论】:
标签: java image-processing ocr tesseract tess4j