首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用IronOCR Tesseract在C#中读取图像中的文本

使用IronOCR Tesseract在C#中读取图像中的文本
EN

Stack Overflow用户
提问于 2021-09-06 06:53:43
回答 1查看 885关注 0票数 1

根据这个Link,我安装了IronOcr包,并尝试了以下代码。

代码语言:javascript
运行
复制
using IronOcr;
var Result = new IronTesseract().Read(path);
string currentSubText = Result.Text;
textBox1.Text += currentSubText + Environment.NewLine + Environment.NewLine;

我用六张图片进行了测试:

图片

图片

图片

图片

我可以上传四张照片。

实际上它看起来不错。只有几个错误与一些特殊的德语字符(äöü)

结果1:

我在谷歌上搜索,发现在OCR中使用语言包是可能的。我用下面的代码尝试了一下。

代码语言:javascript
运行
复制
var Ocr = new IronTesseract();

//Ocr.Language = OcrLanguage.German;
Ocr.Language = OcrLanguage.GermanBest;

using (var Input = new OcrInput(path))
{
    var Result = Ocr.Read(Input);
    string currentSubText = Result.Text;
    textBox1.Text += currentSubText + Environment.NewLine + Environment.NewLine;
}

不幸的是,结果非常非常糟糕。

结果2:

有人能帮帮我吗?

感谢并致以最良好的问候

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 04:19:09

你试过使用内置的反转滤色器吗?

所有的OCR对我来说都是最好的,黑白的文字。我根据IronOCR文档中的代码使用以下代码:

https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/

简化源码:

代码语言:javascript
运行
复制
using IronOcr;
 
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.GermanBest;
using (var Input = new OcrInput(@"image.png"))
{
    
    //Input.EnhanceResolution(300);
    Input.Invert();
    
    
   
    /*
    // Optional: Export modified images so you can view them.
    foreach(var page in  Input.Pages){
          page.SaveAsImage("filtered.bmp")
    }
    */
   
 
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

MSDN样式文档:https://ironsoftware.com/csharp/ocr/object-reference/api/IronOcr.OcrInput.html#IronOcr_OcrInput_Invert_System_Boolean_

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69070270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档