代码之家  ›  专栏  ›  技术社区  ›  Luís Tiago

在执行ocr的控制台中是否存在不出现错误的情况。读取(输入)

  •  0
  • Luís Tiago  · 技术社区  · 3 年前

    我正在尝试从控制台应用程序中的图像中读取数字和字母,到目前为止效果很好。 但是,当图像没有任何字母或数字时,在执行ocr时,它会在控制台中显示一条错误消息。读取(输入): enter image description here

    我的问题是,有没有办法防止错误在控制台中显示? 以下代码:

    var ocr = new IronTesseract();           
    using (var input = new OcrInput(imgLocation))
    {
        var result = ocr.Read(input);
    }
    
    0 回复  |  直到 3 年前
        1
  •  0
  •   Olivier Jacot-Descombes    3 年前

    它有助于禁用控制台的错误输出 Console.SetError(TextWriter.Null); 。这会禁用许多错误消息,但不幸的是,并不是所有错误消息。解决方法是用不同的颜色打印它们。

    Console.SetError(TextWriter.Null);
    Console.ForegroundColor = ConsoleColor.Red;
    
    var ocr = new IronTesseract();
    using (var input = new OcrInput(imgLocation))
    {
        var result = ocr.Read(input);
    
        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine(result.Text);
    }
    

    我还尝试临时设置控制台 Out TextWriter.Null ,但这无济于事。显然,在某些情况下会将输出重置为标准输出。