1

我正在使用 abbyy ocr mobile sdk 进行 android 应用程序开发。我想检测特定区域的文本。谁能帮我在abbyy mobile sdk中指定识别区域?

4

2 回答 2

0

我没有在 Android sdk 上这样做,但 Abbyy sdk 在每种语言中都是相似的。我会给你和 c# 的例子,我希望你会发现它很有用。

你有两个选择:

  • 您可以使用块创建布局:

    FRDocument document = engine.CreateFRDocument();
    Rectangle rectangle = new Rectangle();
    rectangle.X = 160; 
    rectangle.Y = 42; 
    rectangle.Width = 240; 
    rectangle.Height = 37;
    CrearBloque(rectangle, "BlockName");
    
    private void CrearBloque(Rectangle rectangle, string name)
    {
         FREngine.Region region = engineLoader.Engine.CreateRegion();
         region.AddRect(
              rectangle.Left, 
              rectangle.Top, 
              rectangle.Width + rectangle.Left, 
              rectangle.Height + rectangle.Top);
    
         ITextBlock block = document.Pages[0].Layout.Blocks.AddNew(
              BlockTypeEnum.BT_Text, region, -1).GetAsTextBlock();
    
         block.Name = name;
    }
    
    //And finally you can save your your document's layout:
    document.Pages[0].Layout.SaveToFile("path_of_the_layout");
    
  • 您还可以加载保存了块的布局文件:

    document.Pages[0].Layout.LoadFromFile("path_of_the_layout");
    

很重要!!!

不要忘记使用document.recognize()方法。

永远不要使用document.Process().

于 2015-12-10T15:50:13.670 回答
0

不确定,它是如何在 android 上完成的,但即使我使用的是 iOS,这也可能会有所帮助。有复制keywordsdictionaries的构建阶段patterns。预先选择的设置被设置在英语词典/关键字上。因此,您可能会查看您的项目文件并寻找English.akwEnglish.edc用所需区域替换此条目。

另外,您可以ocrConfiguration在代码中搜索。这包含识别语言。

于 2015-11-24T08:25:53.630 回答