【发布时间】:2021-04-28 01:02:36
【问题描述】:
我在文档上进行文本识别。 .NET Core 库
var client = ImageAnnotatorClient.Create();
ImageContext context = new ImageContext();
foreach (var hints in context.LanguageHints)
{
Console.WriteLine("hint " + hints);
}
var response = client.DetectDocumentText(fromBytes, context);
在俄语中有一个短语“Однажды вечером”(一个晚上)
如果我在没有语言提示的情况下使用 Google DOCUMENT_TEXT_DETECTION,那么我会得到结果“ОДНАЖДЫ BELEPOM”(第一个单词正确!第二个 - 失败)
好吧,可能是对语言有疑问,我们会明确指出是俄语
context.LanguageHints.Add("ru");
var response = client.DetectDocumentText(fromBytes, context);
结果是一样的——第二个词完全是拉丁文。
我想,不知怎的,我问错了提示?让我们试试其他语言的例子
context.LanguageHints.Add("en");
var response = client.DetectDocumentText(fromBytes, context);
结果:
DAHAYKALI BELEPOM
正如我们所见,提示功能是独立工作的,只是俄语单词“ВЕЧЕРОМ”(On Evening)被识别得如此低的置信度,以至于回退到在英语 OCR 中使用。
问题是 - 你如何强制禁用所有 OCR 模块,除了只有一种语言?(在这种情况下是俄语)让他至少尝试识别俄语字母,尽管信心不足。
【问题讨论】:
标签: c# ocr google-cloud-vision