如何使用Java使用OpenCV从边界框读取文本

时间:2017-06-08 07:14:39

标签: java opencv handwriting-recognition text-recognition

我正在开发手写表单识别系统,到目前为止,我已经达到了这一步,我已经能够使用带有openCV的java检测文本,但现在我想从每个边界框中读取文本{{3 }}

我正在研究使用带有openCV的java查找相同的过程,但我找不到任何。

建议我使用“JAVA”执行此特定任务的一些链接,技术,方法或流程。

1 个答案:

答案 0 :(得分:0)

这个答案比问题具体更普遍。我将尽可能地坚持使用问题陈述。

尽管有很多关于手写文本识别的研究,但是没有完全证明方法,它可以解决所有可能出现的问题。

您在此处发布的示例图像相对较嘈杂,同一字母的字体之间的差异极大。这正是它变得棘手的地方。

我个人建议,一旦你在文本周围有了边界框(你已经做过),在所有这些边界框中运行轮廓提取,以便提取单个字母。一旦你拥有它们,你需要找出可以代表特定字母的最大方差(或至少95%置信区间)的相关特征。

使用此/ ese功能/ s,您需要训练监督算法,将字母作为训练数据及其对应值(例如实际值)作为标签。完成后,给它一些数据(最简单和最困难的情况)来分析准确性。

这些链接可以帮助您开始:

  1. 我开始编码前使用的一组功能检查准确性的第一个工具之一:Weka

  2. 阅读有关机器学习及其工作原理的基本教程 - Personal Favorite

  3. 您可以尝试TensorFlow

  4. Simple Digit Recognition OCR in OpenCV-Python - 非常适合初学者。

  5. 希望它有所帮助!