OCR工具

如何使用Tesseract从图像中获取文本

更新 2024年一月28日
分享:

利用 IronOCR 和 Tesseract 等库,开发人员可以使用先进的算法和机器学习技术从图像和扫描文档中提取文本信息。本教程将向读者展示如何使用 Tesseract 库从图像中提取文本,最后将介绍 IronOCR 的独特方法。

1.使用 Tesseract 进行 OCR 识别

1.1.安装魔方

使用 NuGet 软件包管理器控制台,输入以下命令。

Install-Package Tesseract

或通过 NuGet 软件包管理器下载软件包。

如何获取 OCR 文字识别,图 1:在 NuGet 软件包管理器中安装 Tesseract 软件包

在NuGet软件包管理器中安装 "Tesseract "软件包

安装 NuGet 软件包后,您必须在项目文件夹中手动安装并保存语言文件。这可以说是该特定库的一个缺点。

请访问 网站 下载语言文件。下载完成后,解压缩文件,并将 "tessdata "文件夹添加到项目的调试文件夹中。

1.2.使用魔方 (快速启动)

可以使用下面的源代码对给定图像进行 OCR 识别:

using Tesseract;

var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
using Tesseract;

var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
Imports Tesseract

Private ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)
Private img = Pix.LoadFromFile("Demo.png")
Private res = ocrEngine.Process(img)
Console.WriteLine(res.GetText())
Console.ReadKey()
VB   C#

首先,必须创建一个 "TerreractEngine "对象,并将语言数据加载到引擎中。然后,在 Tesseract Pix 的帮助下加载所需的图像文件。然后将图像传入TerreractEngine,使用TesseractEngine中可用的GetText方法提取正确的识别文本。这就是代码的输出结果。

如何获取 OCR 文本识别,图 2:从图像中提取文本

从图片中提取文字

1.3 魔方考虑因素

1.从 3.00 版开始,Tesseract 支持输出文本格式、OCR 定位数据和页面布局分析。

2.不过,由于开发支持有限,Tesseract 只能在 Windows 和 Ubuntu 上正常运行。

3.Tesseract 可以区分单倍行距和比例行距文本。

4.Tesseract 采用类似 OCRopus 的前端,非常适合作为后端使用,可用于更具挑战性的 OCR 工作,如版面分析。

5.Tesseract 的一些不足之处:

* 最新版本无法在 Windows 上编译

* Tesseract 的 C# API 封装程序维护不及时,比 Tesseract 的新版本晚了好几年

要了解有关 C# 版 Tesseract 的更多信息,请访问 魔方教程.

2.使用 IronOCR 进行 OCR 识别

2.1.安装 IronCR

在 NuGet 软件包管理器控制台中输入下一条命令。

Install-Package IronOcr

或者通过 NuGet 软件包管理器安装 IronOCR 库,以及其他语言的附加软件包,使用起来简单方便。

如何获取 OCR 文字识别,图 3:通过 NuGet 软件包管理器安装 IronOcr 和语言包

通过 NuGet 软件包管理器安装 IronOcr 和语言包

2.2.使用 IronOCR

以下是识别给定图像中文本的示例代码。

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())      
{          
    input.LoadImage(@"Demo.png");
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())      
{          
    input.LoadImage(@"Demo.png");
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
Dim ocr = New IronTesseract()
ocr.Language = OcrLanguage.EnglishBest
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using input = New OcrInput()
	input.LoadImage("Demo.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
	Console.ReadKey()
End Using
VB   C#

上面的代码实例化了一个 钢铁魔方 对象。此外,一个 OcrInput 创建对象以添加一个或多个图像文件时,用 载入图像 方法。您可以自由上传任意数量的图片。功能 阅读 在对象中 钢铁魔方 将解析图像文件,并将结果提取到 OCR 结果中。

如何获取 OCR 文本识别,图 4:使用 IronOCR 库提取的文本输出

使用 IronOCR 库提取文本输出

2.3 IronOCR 注意事项

1.IronOCR 是 Tesseract 库的扩展,具有更高的稳定性和准确性。

2.IronOCR 可以读取 PDF 文件 此外,IronOCR 还能读取 20 多种不同的照片。 条形码 和 QR 码。

3.输出结果可以是纯文本、结构化数据、条形码或 QR 码。

4.程序库可识别 全球 127 种语言.

5.IronOCR 可在所有 .NET 环境中灵活运行 (控制台、网络、桌面等)此外,它还支持最新的移动框架,如 Mono、Xamarin.NET、Microsoft.NET、Microsoft.NET、Microsoft.NET、Microsoft.NET 等、 Azure毛伊岛.

6.IronOCR 可提供 免费试用 并有价格较低的开发版。学习 更多许可信息.

有关 IronOCR 的详细教程,请参阅以下内容 用 C# 从图像中读取文本的文章.

< 前一页
OCR C# 开源 (开发者名单)
下一步 >
最佳OCR API(更新列表对比)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 2,319,721 查看许可证 >