4

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

4

2 回答 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 检测文本。

于 2013-05-27T09:01:50.003 回答
0

作为@mbrenon 回答的补充信息:Tesseract 仅进行文本识别,不支持 ROI 文本提取,因此您需要在捕获图像后将其添加到系统中。

您可以阅读这些学术论文,这些论文报告了在手机上使用 Tesseract 的附加步骤,并提供了一些评估性能:

TranslatAR:Petter, M.;弗拉戈索,V。特克,M。Baur, Charles,“移动增强现实翻译的自动文本检测”,计算机视觉研讨会(ICCV 研讨会),2011 年 IEEE 国际会议,第 48,55 页,2011 年 11 月 6-13 日

基于移动摄像头的检测和翻译

于 2013-05-31T13:38:20.323 回答