0

是否有可用于从图像中识别和计数对象的 OCR API?或者这可以用另一种图像处理图像处理技术来完成吗?

例如,如果我拍摄三个盒子的特写照片,API 将只返回数字 3 作为结果。

4

1 回答 1

0

您可以查看 OpenCV,它在学习图像处理和视觉的程序员中很受欢迎。您会在 StackOverflow 上找到无数关于 OpenCV 的帖子。

http://opencv.org/

一些免费软件 GUI 和商业图像处理包的免费入门版本将允许您测试图像处理技术,而无需编写代码。ImageJ 很旧,但仍然值得一试:

http://rsbweb.nih.gov/ij/

我不想偏袒我在图像处理领域的任何姐妹和兄弟,但如果你在谷歌上搜索“machine vision free”或“computer vision free”并添加诸如“GUI”之类的词,你应该能够快速找到一些免费软件,让您只需使用鼠标即可测试不同的图像处理技术。

除了 OCR 算法,您还需要一种分割方法来计算对象。

一种这样的技术是连通分量算法:

http://en.wikipedia.org/wiki/Connected-component_labeling

典型的连接组件算法将依赖于一些预处理:

  1. 找到二值化阈值。
  2. 应用二值化阈值以生成黑色 (0) 和白色 (1) 值的图像。
  3. 运行连接组件算法并标记所有组件(对象)
  4. 按大小和其他参数过滤结果。例如,您可能不想包含只有几个像素大小的前景对象。
  5. 检查过滤组件列表的大小。

这是一种简单的低级方法,但在许多情况下都很有用。即使您认为需要更复杂的技术,我强烈建议您先熟悉连接组件,然后再继续。在掌握照明、二值化和组件标签的微妙之处之前,人们不太可能对更复杂的算法有太多有用的了解。真的没有捷径。

还有其他更复杂的方法,但在建议哪种方法可能合适之前,您必须更具体地确定要查找的对象类型。

对于任何图像处理问题,请始终包含一个或多个示例图像。在不首先了解您正在使用的图像集的情况下谈论图像处理算法通常是没有用的。对您来说显而易见的事情对其他人来说并不明显,尤其是那些花费数年时间从事 OCR 应用程序并且不得不处理各种背景、脚本和规范的人。

于 2013-11-06T00:55:51.237 回答