是否有可以计算对象的OCR API?

时间:2013-10-28 08:16:19

标签: image-processing ocr mobile-application

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

例如,如果我拍摄三张特写的特写照片,那么API就会返回3号。

1 个答案:

答案 0 :(得分:0)

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

http://opencv.org/

一些免费软件GUI和商业图像处理软件包的免费入门版本将允许您在不必编写代码的情况下测试图像处理技术。 ImageJ已经过时但仍值得一试:

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

我不想在图像处理领域对我的任何兄弟姐妹表示偏袒,但如果你谷歌为“机器视觉免费”或“计算机视觉免费”并添加诸如“GUI”之类的词,你应该能够快速找到一些免费软件,只需使用鼠标即可测试不同的图像处理技术。

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

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

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

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

  1. 查找二值化阈值。
  2. 应用二值化阈值以生成黑色(0)和白色(1)值的图像。
  3. 运行连接组件算法并标记所有组件(对象)
  4. 按大小和其他参数过滤结果。例如,您可能不希望包含大小仅为几个像素的前景对象。
  5. 检查已过滤组件列表的大小。
  6. 这是一种简单的低级方法,但在许多情况下它很有用。即使您认为需要更复杂的技术,我强烈建议您在继续之前先熟悉连接组件。在掌握光照,二值化和元件标注的细微之处之前,人们不太可能对更复杂的算法有所了解。确实没有捷径。

    还有其他更复杂的方法,但在建议哪些方法可能合适之前,您必须更具体地了解您想要找到的对象类型。

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