如何从包含大量详细信息的图像中指定计算机感兴趣的区域?

时间:2018-06-18 09:25:03

标签: opencv image-processing computer-vision ocr

背景

我正在研究我的最后一年本科学院项目,我参与的主题是光学字符识别的纸质笔记检测。我已经开始研究基本的图像处理技术了,因为我是使用Java进行图像处理的新手,所以进度有点慢。

我对图像处理有一个基本的想法,因为我上一学期就拿了一篇论文。

基本上,我正在研究尼泊尔纸质笔记,其目的是从中提取关键信息。我使用的票据是卢比100,500和1000的尼泊尔货币票据。

enter image description here

上图是卢比500的尼泊尔货币。其目的是从图像中提取信息并识别图像所属的货币。

enter image description here

我的项目的主要目标是确定货币类型,这基本上是通过识别右下区域来完成的。图像的右下区域定义货币的值。

次要目标是获取货币编号(唯一)并将其存储在数据库中。

问题:

嗯,我的问题是,这个问题可以解决多少?进入这个项目之前有哪些必要的先决条件?如何从图像中选择感兴趣的区域?

下面列出了我的项目应该识别的另外两篇论文:

enter image description here

尼泊尔纸笔记:卢比。 1000

enter image description here

尼泊尔纸笔记:卢比。 100

  

由于我是使用Java进行图像处理的新手,我需要公平   关于如何实现我的问题以取得成功的建议。

1 个答案:

答案 0 :(得分:0)

我将尝试逐步回答这个问题,因为这些是连续的,所以你的准确性将取决于你每一步的表现。

  1. 确定和提取投资回报率:考虑到您正在处理纸币,可以安全地假设您的输入测试/列车数据将按照其在上面给出的图像。尝试使用轮廓线提取数字周围的感兴趣区域。您可以做的另一件事是创建一个遮罩,它将过滤掉图像的剩余区域,只留下您需要的区域。第二种方法更多的是硬编码,如果图像未对齐则会失败。

  2. 预处理:一旦获得了投资回报率,在将数据提供给OCR之前,您需要先完成一些预处理技术。大多数OCR显示二进制图像的准确性更高,有时也使用灰度。此步骤对于从OCR获得良好结果至关重要。

  3. 应用OCR :您可以随时使用Tesseract OCR或其他,但由于纸币类型有限,我还建议您查看对象检测模型。其中许多都可以在线获取,您可以通过提供货币图像并手动将其标记为相应值来自行培训。 OCR并不总能返回最佳结果,在您的使用案例中,我建议您尝试其他替代方案,例如图像匹配或制作模型。