Delphi tesseract Package 不识别字体名称

cs7cruho  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(231)

我正在使用https://github.com/CloudDelphi/TTesseractOCR4上提供的Delphi Tesseract Package 器。基于这里的示例:Get font of recognized character with Tesseract-OCR我应该调用api.GetIterator()方法来获取WordFontAttributes()。正如我所看到的,Delphi Package 器不直接支持api.GetIterator(),但具有TTesseractPageLayout.AnalyseLayout函数来访问GetIterator()

OnRecognizeEnd中,我调用AnalyseLayout,它返回单词的文本,但不返回字体名称:

Tesseract.PageLayout.AnalyseLayout;
  for TesseractWord in Tesseract.PageLayout.Words do
  begin
     memo1.Lines.Add(TesseractWord.Text);
     memo1.Lines.Add(TesseractWord.FontName);
  end;

你能帮我解决这个问题吗?

2hh7jdfx

2hh7jdfx1#

您似乎使用的是tesseract版本>=4.0.0.0。在这些版本中,识别是通过神经网络(LSTM引擎)完成的,因此字体名称不可用。您可以获得的字体名称的最新版本是版本3,它使用旧引擎。

你可以在以下链接中阅读(用户在GitHub官方回购上总结的问题):

1.https://github.com/sirfz/tesserocr/issues/292
1.https://github.com/tesseract-ocr/tesseract/issues/3820
1.https://github.com/tesseract-ocr/tesseract/issues/1074

相关问题