增强现实与光学字符识别技术

4

我使用高通的vuforia库已经实现了增强现实程序。现在我想在我的程序中添加光学字符识别功能,以便能够实时将文本从一种语言翻译成另一种语言。我计划使用Tesseract OCR库。但我的问题是,我如何将Tesseract与QCAR集成?有人可以建议我正确的方法吗?

2个回答

3
您需要的是访问相机帧,这样您就可以将它们发送到Tesseract。 Vuforia SDK提供了一种使用QCAR :: UpdateCallback接口(文档在此处)访问帧的方法。
您需要做的是创建一个实现此协议的类,使用QCAR :: registerCallback(请参见此处)将其注册到Vuforia SDK中,然后每当Vuforia SDK处理完一帧时,您将收到通知。
此回调将提供一个QCAR :: State对象,从中您可以访问相机帧(请参见此处的QCAR :: State :: getFrame()文档)并将其发送到Tesseract SDK。
但是,请注意Vuforia SDK使用较低分辨率的框架(在我测试的许多手机上,它返回360x240到720x480范围内的框架,更常见的是前者而不是后者),这可能不足以使Tesseract检测到文本。

谢谢mbrenon,我会按照你说的去做,并使用Tessaract测试结果。如果不可接受,我会寻找其他OCR解决方案,但这值得一试。 - gooner

0
作为对@mbrenon答案的补充信息:Tesseract只能进行文本识别,不支持ROI文本提取,因此您需要在捕获图像后将其添加到系统中。
您可以阅读这些学术论文,了解在移动手机上使用Tesseract所需的额外步骤,并提供一些评估性能: TranslatAR: Petter, M.; Fragoso, V.; Turk, M.; Baur, Charles, "Automatic text detection for mobile augmented reality translation," Computer Vision Workshops (ICCV Workshops), 2011 IEEE International Conference on , vol., no., pp.48,55, 6-13 Nov. 2011 Mobile Camera Based Detection and Translation

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