跳過到頁腳內容
使用 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 )。
  2. 建立一個新的OcrInput來載入收據圖片。
  3. 使用IronTesseractRead方法提取文字。
  4. 將結果輸出到控制台。

調試和置信度測試

為確保一致性,驗證擷取資料的置信度,置信度決定資料的準確性。

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 及 Framework 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 上打游戏或重看《The Last of Us》。