1个回答

42
我是Word Lens的创造者之一。虽然已经有一些OCR库(如tesseract),但我们决定自己制作以获得更好的结果和性能。我们的一般算法如下:
  1. 从相机复制图像并获取其灰度分量
  2. 调整图像,使文本在背景上清晰可见
  3. 在看起来像字符和句子的地方画出方框
  4. 进行OCR:将每个方框中的像素与字符数据库进行匹配 - 这实际上非常困难!
  5. 收集字符成为单词,查字典(这也很难,因为OCR会出现错误)
  6. 将结果绘制回图像上
仅仅通过图像匹配是不够好的,因为存在着各种字体、词汇和语言。
OpenCV是一个很棒的库,可以让您快速上手,并学习更多关于计算机视觉的知识。我建议基于他们的示例进行开发,并在那里进行试验。祝您玩得愉快!

你是否可以通过某种方式将4和5结合起来以获得更好的结果?作为OCR的外部人员,我觉得你在“5”上丢失了一些在困难情况下可能有用的信息。 - Martin Thompson
1
马丁:非常正确;例如,'O'非常类似于'0',甚至是'8'和'B',因此在更多的消歧信息可用时,在以下阶段保持可能性列表有所帮助(一种简单的反馈形式),然后将其缩减。 - jd.
@jd。感谢您的评论。请问您创建Word Lens花费了多长时间?您能否推荐一些好的OCR教程? - Ab'initio
Word Lens大约花费了两个人大约两年的时间来制作。我想不出有多少好的教程,除了建议你建立一个原型。如果你能快速地让一个基本系统运行起来,那么当你进行更多的研究时,你就会准备好问出正确的问题。 - jd.
@jd,谢谢。我会在建立原型之后再回来……你能通过 Gmail 联系我吗?我的 ID 是 2arshu@gmail.com - Ab'initio
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接