OCR工具

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

更新 2024年一月28日
分享:

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

1.使用 Tesseract 进行 OCR 识别

1.1.安装 Tesseract

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

Install-Package Tesseract

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

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

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

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

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

1.2.使用 Tesseract(快速入门)

可以使用下面的源代码对给定图像进行 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 Tesseract 注意事项

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

  2. Tesseract 可在 Windows、Linux 和 Mac OS X 上使用。 不过,由于开发支持有限,Tesseract 只能在 Windows 和 Ubuntu 上正常运行。

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

  4. 利用 OCRopus 这样的前端,Tesseract 非常适合用作后端,并可用于更具挑战性的 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.11 刚刚发布

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