使用 IRONOCR

OCR 收据数据提取(逐步教程)

更新 2024年一月28日
分享:

对于企业和个人来说,使用 IronOCR 进行收据 OCR 识别可以改变游戏规则。通过该程序,您可以从实物收据中提取重要信息,并将其转换为数字数据。本文将带您逐步了解如何使用 IronOCR 最大限度地利用收据。

OCR 快速入门

光学字符识别(OCR)是一种允许计算机从图像或扫描文档中读取和理解文本的技术。通过将手写或打印文本转换为机器可读文本,OCR 使您能够存储、处理和分析物理文档中包含的信息。

2.IronOCR 简介

IronOCR 是一个 OCR (光学字符识别) 库。它使开发人员能够 从图像中提取文本, PDF 文件以及其他文档格式。IronOCR 基于流行的 Tesseract OCR 引擎 并增加了其他功能,使其成为各种应用(包括收据 OCR)的理想选择。

3.使用 IronOCR 提取数据的好处

以下是使用 IronOCR 进行 OCR 收据数据提取的一些主要优势:

高准确性:IronOCR 提供出色的 OCR API 准确性,确保从收据和其他文档中提取可靠的数据。

多语种支持:IronOCR 支持超过 125 种语言,适合全球应用。

易于使用:该库提供简单直观的应用程序接口,使开发人员可以轻松地在其项目中实现 OCR 功能。

可定制:IronOCR 提供各种选项 用于微调 OCR 结果,确保针对具体使用情况提取最佳数据。

4. IronOCR 如何工作

IronOCR 采用先进的 OCR 算法从图像和文档中识别并提取文本。它可以处理各种格式,包括 JPEG、PNG、TIFF 和 PDF。该库读取输入文件,识别其中的文本,并将提取的文本输出为字符串,然后根据需要进行处理或存储。IronOCR 还使用 计算机视觉 以获得最佳效果。

5.使用 IronOCR 的先决条件

要开始使用 IronOCR 提取收据数据,首先需要安装 IronOCR 软件包。这可以通过 .NET 的软件包管理器 NuGet 轻松完成。只需在 Visual Studio 中打开项目,然后按照以下步骤操作即可:

1.右键单击解决方案资源管理器中的项目,选择 "管理 NuGet 包"。

2.在 NuGet 包管理器窗口中,搜索 "IronOCR"。

3.选择 "IronOcr "软件包并点击 "安装"。

![OCR 收据数据提取(逐步教程),图 1:在 NuGet 软件包管理器用户界面中搜索 IronOcr 软件包](/static-assets/ocr/blog/ocr-receipt-data-extraction/ocr-receipt-data-extraction-1.webp)

**在 NuGet 软件包管理器用户界面中搜索 "IronOcr "软件包**

6.准备收据图像

在从收据中提取数据之前,您需要确保收据图像的高质量,以提高收据 OCR API 流程的准确性。以下是一些捕捉优质收据图像的技巧:

1.使用扫描文件。您可以使用高分辨率扫描仪扫描收据。

2.确保收据光线充足,没有阴影。

3.理顺收据上的任何折痕或褶皱,以免隐藏关键信息。

4.确保收据上的文字清晰无污,以改进收据处理。

![OCR 收据数据提取(逐步教程),图 2:用于提取文本的收据图像样本](/static-assets/ocr/blog/ocr-receipt-data-extraction/ocr-receipt-data-extraction-2.webp)

**用于提取文本的收据图像样本**

7.在收据图像上执行 OCR

安装好 IronOCR 并准备好收据图像后,就可以执行 OCR 处理了。在您的 .NET 应用程序中,使用以下代码段:

using IronOcr;

var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
    var result = ocr.Read(ocrInput);
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
    var result = ocr.Read(ocrInput);
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
	Dim result = ocr.Read(ocrInput)
	Console.WriteLine(result.Text)
End Using
VB   C#

代码解释

using IronOcr;
using IronOcr;
Imports IronOcr
VB   C#

该行将 IronOCR 库导入到您的 .NET 应用程序中,使您可以访问其功能。

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
VB   C#

这一行将创建一个新的 钢铁魔方 类,它是 IronOCR 中负责 OCR 操作的主要类。

using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
VB   C#

在这里,一个新的 OcrInput 类创建,该类表示 OCR 处理的输入图像。@"path/to/your/receipt/image.png "应替换为收据图像的实际文件路径。使用 "语句可确保 OCR 操作完成后,分配给 "OcrInput "实例的资源被正确释放。

var result = Ocr.Read(ocrInput);
var result = Ocr.Read(ocrInput);
Dim result = Ocr.Read(ocrInput)
VB   C#

该行调用 阅读 实例的 Read 方法,并将 OcrInput 对象作为参数传递。Read "方法会处理输入的图像并执行 OCR 操作,识别并提取图像中的文本。它将开始收据识别过程。

Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text)
VB   C#

最后,这一行会将提取的文本输出到控制台。结果 "对象是 OcrResult 类,包含识别的文本和有关 OCR 过程的附加信息。提取的文本可通过访问 result 对象的 Text 属性来显示。

OCR 收据数据提取(逐步教程),图 3:提取文本的输出结果

提取文本的输出

微调 OCR 结果

IronOCR 提供多个选项来提高 OCR 的准确性和性能。这些选项包括预处理图像、调整 OCR 引擎设置以及为收据选择合适的语言。

图像预处理

应用图像预处理技术可以增强 OCR 的效果,例如

1.纠偏:纠正图像中的任何旋转或倾斜。

2.去噪通过去除图片中的噪点,提高文字的可读性。

下面举例说明如何应用这些技术:

using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
    input.DeNoise();
    input.DeSkew();

    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
    input.DeNoise();
    input.DeSkew();

    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using input = New OcrInput("path/to/your/receipt/image.png")
	input.DeNoise()
	input.DeSkew()

	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

语言选择

IronOCR 支持超过 125 种语言,为您的收据选择正确的语言可以显著改善 OCR 结果。要指定语言,请在代码中添加以下一行:

ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English
VB   C#

从 OCR 结果中提取数据

完成 OCR 处理后,就可以从文本中提取特定信息了。根据您的需要,您可能需要提取以下数据:

1.商店名称和地址。

2.购买日期和时间。

3.物品名称和价格。

4.小计、税金和总金额。

为此,您可以在 .NET 应用程序中使用正则表达式或字符串操作技术。例如,您可以使用以下代码片段从 OCR 结果中提取日期:

using System.Text.RegularExpressions;

//Rest of the Code

var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
    var DateValue = DateTime.Parse(DateMatch.Value);
    Console.WriteLine("Date: " + DateValue);
}
using System.Text.RegularExpressions;

//Rest of the Code

var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
    var DateValue = DateTime.Parse(DateMatch.Value);
    Console.WriteLine("Date: " + DateValue);
}
Imports System.Text.RegularExpressions

'Rest of the Code

Private DatePattern = "\d{1,2}\/\d{1,2}\/\d{2,4}"
Private DateMatch = Regex.Match(Result.Text, DatePattern)
If DateMatch.Success Then
	Dim DateValue = DateTime.Parse(DateMatch.Value)
	Console.WriteLine("Date: " & DateValue)
End If
VB   C#

您可以为需要从收据中提取的其他信息创建类似的模式。

存储和分析提取的数据

现在,您已经从收据中提取了相关信息,可以将其存储到数据库中、进行分析或导出为 CSV、JSON 或 Excel 等其他文件格式。

结论

总之,使用 IronOCR 进行收据 OCR 是一种创新、高效的财务数据数字化和管理解决方案;有了 IronOCR,你就可以取代手工数据录入。按照本指南的步骤,你就可以利用 IronOCR 的强大功能来改进你的支出跟踪和数据分析。最重要的是,IronOCR 可提供 免费试用让您无需任何承诺即可体验其功能。

试用期结束后,如果您决定继续使用 IronOCR,许可证的起价为"$liteLicense",这为您在应用程序中利用 OCR 技术的优势提供了一种具有成本效益的方式。

< 前一页
如何在Blazor中从图像读取文本
下一步 >
使用计算机视觉的OCR(示范教程)

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

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