首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android中使用tesseract ocr进行实时文本检测和翻译时的必应翻译错误

在android中使用tesseract ocr进行实时文本检测和翻译时的必应翻译错误
EN

Stack Overflow用户
提问于 2015-04-29 21:47:07
回答 1查看 518关注 0票数 2

我正在使用Robert的实验性应用程序(即android)来实现实时OCR和翻译(使用Bing翻译器)。

在类CaptureActivity.java中,在函数handleOcrContinuousDecode (它是实时OCR的函数)中,我创建了一个TranslateAsycnTask.java对象,它传递要通过ViewFinderView.java显示的翻译文本,如下所示:

我遇到的问题是,在第一次成功的实时翻译之后,第一次翻译的结果将显示给下一次翻译。然而,OCR在接下来的所有案例中都是成功的。如下所示:

这里所发生的是OCR文本在左上角的“速度”,翻译文本“速度”被画在原始文本上。对于“应用程序”,所显示的OCR是正确的,但是返回的翻译是前一种情况。

请告诉我,我做错了什么,或如何或如何解决这个问题?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-30 03:12:42

您没有考虑到在互联网上使用Bing执行翻译所需的时间。

由于翻译所需的延迟,当您第一次到取景器时还没有翻译文本。当您在您的execute()上调用AsyncTask时,这将异步开始转换过程,执行将继续进行,并以globalString中的空值写入取景器。

然后,OCR过程循环,在你把相机指向你的第二个单词之前,请求你的第一个单词velocity再翻译几个。延迟后,您的第一个翻译‘速比’返回并分配给globalString,当您在循环中运行几次之后,它将被拾取并显示。

因为你做一个单词的OCR比你能翻译一个单词快,所以当你把相机对准你的第二个单词时,你已经多次要求翻译同一个单词“速度”,并把事情拖住了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29955182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档