跳至页脚内容
使用 IRONOCR

C# 中的超市收据 OCR(开发者教程)

收据和自动化

收据在当今快节奏的世界中至关重要。 无论是购买日用品还是在餐馆就餐,收据都有助于跟踪消费金额并帮助编制预算。 同时,杂货店可以使用收据扫描仪分析销售数据,帮助他们预测需求。

然而,收据可能难以阅读,也可能不清楚总数是如何计算的。 为编制预算而手工录入收据数据既繁琐又容易出错,尤其是在涉及许多项目的情况下。 丢失收据会让人突然不明白为什么会超出每月预算。

为了解决这个问题,预算和财务应用程序采用了OCR(光学字符识别)技术。 通过扫描收据并将其转换为数字格式,OCR 可以最大限度地减少人为错误、自动输入数据、跟踪支出并深入了解购买行为。

OCR 技术通过使用机器学习算法来识别和提取图像中的文本和数字。 然而,OCR 系统并不完美,尤其是在处理受模糊或污点等噪声影响的图像时,可能会导致数据提取不正确。 因此,选择一个能够高效处理和优化阅读方法的可靠 OCR 库至关重要。

为什么选择 IronOCR?

IronOCR 是基于定制版 Tesseract OCR 引擎的 C# 库。下面是它的一些主要功能:

1.跨平台兼容性:完全兼容 .NET 平台,包括 .NET 8、7、6、5 和 Framework 4.6.2 及以后版本。 它支持 Windows、macOS、Azure 和 Linux。 2.灵活性和可扩展性:可处理各种输入格式,如 jpg、png 和 gif。 它能与 C# 中的本地 "System.Drawing "对象顺利集成。 3.易用性和支持:文档齐全,拥有强大的 API 和 24/5 支持。 4.多语言功能:支持多达 125 种语言,是国际文档的理想选择。 它擅长识别产品名称和价格,这对收据处理至关重要。

实施收据OCR

许可证密钥

使用 IronOCR 之前,请获取许可证密钥。 此处提供免费试用版。

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

示例:读取超市收据

让我们来探讨一下 IronOCR 如何应用于一个应用程序中,用智能手机扫描超市收据,提取产品名称和价格等数据,根据购买总额奖励积分。

输入图像

示例超市收据

C#代码实现

using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";

        // Instantiate OCR engine
        var ocr = new IronTesseract();

        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");

        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);

        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
    }
}
using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";

        // Instantiate OCR engine
        var ocr = new IronTesseract();

        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");

        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);

        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
    }
}
Imports IronOcr

Friend Class ReceiptScanner
	Shared Sub Main()
		' Set the license key for IronOCR
		IronOcr.License.LicenseKey = "YOUR-KEY"

		' Instantiate OCR engine
		Dim ocr = New IronTesseract()

		Dim inputPhoto = New OcrInput()
		inputPhoto.LoadImage("supermarketexample.jpg")

		' Perform OCR on the loaded image
		Dim result As OcrResult = ocr.Read(inputPhoto)

		' Output the text extracted from the receipt
		Dim text As String = result.Text
		Console.WriteLine(text)
	End Sub
End Class
$vbLabelText   $csharpLabel

1.导入 IronOcr 库。 2.实例化 OCR 引擎(<代码>IronTesseract</代码>)。 3.创建一个新的 OcrInput 来加载收据的图像。 4.使用 IronTesseract 中的 Read 方法提取文本。 5.将结果输出到控制台。

调试和信心测试

为确保一致性,需要验证提取数据的置信度,这决定了其准确性。

OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Confidence: {result.Confidence}");
OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Confidence: {result.Confidence}");
Dim result As OcrResult = ocr.Read(inputPhoto)
Dim text As String = result.Text
Console.WriteLine(text)
Console.WriteLine($"Confidence: {result.Confidence}")
$vbLabelText   $csharpLabel

Confidence 属性提供了一种统计准确性测量方法。 它的范围从 0(低信心)到 1(高信心)。 根据这些可信度调整数据处理策略,以确保可靠性。

噪声去除和过滤

在处理图像之前,请使用这些方法清洁和准备图像,以获得更好的 OCR 效果:

inputPhoto.DeNoise();      // Removes noise from the image
inputPhoto.ToGrayScale();  // Converts image to grayscale
inputPhoto.DeNoise();      // Removes noise from the image
inputPhoto.ToGrayScale();  // Converts image to grayscale
inputPhoto.DeNoise() ' Removes noise from the image
inputPhoto.ToGrayScale() ' Converts image to grayscale
$vbLabelText   $csharpLabel

这些预处理步骤有助于提高数据提取的准确性。

结论

IronOCR

收据 OCR 技术是企业和个人的宝贵财富,它有助于编制预算、通过验证交易细节防止欺诈以及实现数据收集自动化。 IronOCR 因其准确性、速度和易于与现有平台集成而脱颖而出,是旨在实施收据扫描解决方案的开发人员的绝佳选择。

试用 IronOCR 的 试用许可证,探索其功能。

常见问题解答

OCR 技术如何用于自动化处理超市收据?

OCR 技术可以通过将扫描的收据转换为数字数据来自动化处理超市收据。使用 IronOCR,可以自动读取收据和提取文本,从而减少人工数据输入的需求并最大程度地减少人为错误。

IronOCR 在处理超市收据方面提供哪些优势?

IronOCR 在处理超市收据方面提供了多个优势,包括跨平台兼容性、支持多种图像格式、一个易于集成的强大 API,以及处理多达 125 种语言的能力,使其非常适合处理国际收据。

如何将 IronOCR 集成到 C# 应用程序中以读取超市收据?

要将 IronOCR 集成到 C# 应用程序中,需要获取许可证密钥,导入 IronOcr 库,并使用 IronTesseract 引擎读取和提取超市收据图像中的文本。

哪些预处理技术可以提高收据扫描中的 OCR 准确性?

IronOCR 提供了如 DeNoiseToGrayScale 的预处理技术来提高 OCR 准确性。这些技术帮助去除图像噪点并将图像转换为灰度,提高了从收据中提取文本的能力。

为什么 OCR 中的置信度测试很重要?如何应用?

在 IronOCR 中,置信度测试很重要,因为它测量提取数据的准确性,值范围从 0 (低)到 1 (高)。它帮助用户评估 OCR 结果的可靠性,并指导数据处理决策。

IronOCR 能处理多语言的超市收据吗?

是的,IronOCR 支持多达 125 种语言的 OCR 处理,能够有效处理多语言的超市收据。

是否有试用版供对 IronOCR 感兴趣的开发者使用?

是的,IronOCR 提供免费试用版供开发人员使用,让他们可以在购买之前探索其功能和能力。

IronOCR 支持哪些平台进行收据扫描?

IronOCR 兼容 .NET 平台,包括 .NET 8, 7, 6, 5 和框架 4.6.2 及以上版本,并支持在 Windows、macOS、Azure 和 Linux 环境中运行。

是什么使 IronOCR 适合集成收据扫描到应用程序中?

IronOCR 适合集成收据扫描到应用程序中,因为其高精度、易用性、跨平台支持以及能够顺利处理各种输入格式和语言。

Kannaopat Udonpant
软件工程师
在成为软件工程师之前,Kannapat 在日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了车辆机器人实验室的成员,隶属于生物生产工程系。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他可以直接从编写大多数 IronPDF 代码的开发者那里学习。除了同行学习外,Kannapat 还喜欢在 Iron Software 工作的社交方面。不撰写代码或文档时,Kannapat 通常可以在他的 PS5 上玩游戏或重温《最后生还者》。