【问题标题】:C#: How to ignore logs from Tesseract?C#:如何忽略来自 Tesseract 的日志?
【发布时间】:2021-11-15 23:24:18
【问题描述】:

我有一个在 Docker Linux 映像上运行的 API,它使用 Tesseract wrapper 从映像中读取文本。每次 Tesseract 处理图像时,它都会记录大量警告并进行通信:

|估计分辨率为 682

|空白页!!

|估计分辨率为 682

|空白页!!

|警告:无效的分辨率 0 dpi。改为使用 70。

|估计分辨率为 1408

一个请求调用 Tesseract 多达 50 次,这导致日志变得一团糟。要记录我需要的信息,我使用 Microsoft.Extensions.Logging。我尝试在 appsettings.json 中禁用 Tesseract 的日志记录,如下所示:

 {
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information", 
      "Tesseract": "Error"
    }
  },

以及设置 "Tesseract": "None" 但没有任何帮助。我也尝试在 Tesseract 的文档中查找它,但没有找到任何东西。有什么方法可以仅从 Tesseract 禁用日志?

【问题讨论】:

    标签: c# logging .net-core tesseract


    【解决方案1】:

    好的,我找到了一些解决方法。在初始化一个 Tesseract 引擎的实例后,要移除

    |警告:无效的分辨率 0 dpi。改为使用 70。

    我需要为引擎手动设置 DPI:

    _tesseractEngine.SetVariable("user_defined_dpi", "300"); 
    

    并删除“空页!!”需要为NUL设置debug_file

    _tesseractEngine.SetVariable("debug_file", "NUL");
    

    或者DefaultPageSegMode需要正确设置。

    _tesseractEngine.DefaultPageSegMode = PageSegMode.SingleBlock;
    

    【讨论】:

      猜你喜欢
      • 2013-03-29
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多