在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
利用 IronOCR 和 Tesseract 等库,开发人员可以使用先进的算法和机器学习技术从图像和扫描文档中提取文本信息。 本教程将向读者展示如何使用 Tesseract 库从图像中进行文本提取,最后将介绍 IronOCR 的独特方法。
使用 NuGet 软件包管理器控制台,输入以下命令。
Install-Package Tesseract
或通过 NuGet 软件包管理器下载软件包。
在 NuGet 包管理器中安装 Tesseract
包
安装 NuGet 软件包后,您必须在项目文件夹中手动安装并保存语言文件。 这可以说是这个特定库的一个缺点。
访问以下网站下载语言文件。 下载后,解压文件,并将 "tessdata "文件夹添加到项目的调试文件夹中。
可以使用下面的源代码对给定图像进行 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()
首先,必须创建一个TerreractEngine
对象,并将语言数据加载到引擎中。然后,通过Tesseract Pix加载所需的图像文件。 然后,该图像被传递到TerreractEngine
中,通过使用TesseractEngine
中可用的GetText
方法来提取正确的识别文本。 这是代码的输出结果。
从图像中提取的文本
从 3.00 版开始,Tesseract 支持输出文本格式、OCR 定位数据和页面布局分析。
Tesseract 可在 Windows、Linux 和 Mac OS X 上使用。 不过,由于开发支持有限,Tesseract 只能在 Windows 和 Ubuntu 上正常运行。
Tesseract 可以区分单倍行距和比例行距文本。
利用 OCRopus 这样的前端,Tesseract 非常适合用作后端,并可用于更具挑战性的 OCR 工作,如布局分析。
Tesseract 的一些不足之处:
最新版本在设计上无法在 Windows 上编译
要了解有关 C# 中 Tesseract 的更多信息,请访问Tesseract 教程。
在 NuGet 软件包管理器控制台中输入下一条命令。
Install-Package IronOcr
或者通过 NuGet 软件包管理器安装 IronOCR 库,以及其他语言的附加软件包,使用简单方便。
通过NuGet包管理器安装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
上面的代码实例化了一个IronTesseract
对象。 此外,正在创建一个OcrInput
对象以添加一个或多个图像文件,通过LoadImage
方法提供本地文件路径。 您可以上传任意数量的图片。 对象中的功能Read
IronTesseract
将解析图像文件并将结果提取到OCR结果中。
使用 IronOCR 库提取的文本输出