在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
IronOCR 是一個光學字符識別(OCR)庫,可以用來從影像中識別文字數據以進行資訊提取,包括收據OCR。它建立在被認為是迄今為止最準確的OCR引擎之一的Tesseract OCR引擎之上。IronOCR可以用來從不同類型的文件中讀取關鍵資訊的文字,包括PNG、JPG、TIFF、JSON格式和PDF,並且可以識別多種語言的文字。
IronOCR特別適用於收據OCR的一個關鍵功能或服務是它的能力 自動偵測文字方向,即使圖像已經旋轉或歪斜。這對於上傳收據進行精確的文字識別和資料提取至關重要,因為收據經常包含大量信息,並且可能被折疊或弄皺,導致文字歪斜。
打開 Visual Studio 軟體,然後進入文件菜單。選擇“新建項目”,然後選擇控制台應用程序。
輸入項目名稱並在相應的文本框中選擇路徑。然後,點擊創建按鈕。選擇所需的 .NET Framework,如下圖所示:
在 Visual Studio 中建立新專案
Visual Studio 專案現在將為主控台應用程式生成結構。一旦完成,系統會打開 Program.cs 檔案,在其中您可以編寫和執行源代碼。
從 Visual Studio 新專案精靈生成的 program.cs 文件
在 Visual Studio 中,您可以輕鬆地將 IronOCR 集成到您的 C# 專案中。IronOCR 提供了多種方式與 C# .NET 專案集成。這裡,我們將討論其中的一種:使用 NuGet 套件管理器安裝 IronOCR。
在 Visual Studio 中,前往 工具 > NuGet 套件管理器 > 套件管理器控制台
Visual Studio 的 NuGet 套件管理控制台
點擊後,一個新的控制台將出現在 Visual Studio 窗口的底部。 在控制台中鍵入以下命令並按 Enter。
Install-Package IronOcr
IronOCR只需幾秒鐘即可安裝完成。
IronOCR是一個強大的OCR庫,可以用來從收據中提取和訪問詳細的數據。使用IronOCR,您可以拍攝收據的照片,並將其轉換為機器可讀的文本,方便分析和處理,同時不會損害數據隱私。
以下是一個如何使用IronOCR從收據中提取文本的示例,展示了收據OCR的工作原理。
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
string RecognizedText = ocrResult.Text;
Console.WriteLine(RecognizedText);
}
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
string RecognizedText = ocrResult.Text;
Console.WriteLine(RecognizedText);
}
Imports IronOcr
Imports System
Private ocrTesseract As New IronTesseract()
Using ocrInput As New OcrInput("ocr.png")
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
Dim RecognizedText As String = ocrResult.Text
Console.WriteLine(RecognizedText)
End Using
請參考 從影像讀取文字教學 有關 IronOCR 如何使用 C# 電腦語言從圖片中讀取文字的詳細信息。
上述代碼的輸出如下:
- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00
作為一個強大的 OCR 庫,IronOCR 允許開發人員從掃描的收據中提取重要信息,例如稅額和商家名稱。
以下是如何使用 IronOCR 從收據圖像中提取總金額值的示例:
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.English;
// Code line to load the receipt image
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
// Optimize the input image for OCR
ocrInput.DeNoise(true);
ocrInput.Contrast();
ocrInput.EnhanceResolution();
ocrInput.ToGrayScale();
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Search for the total price in the OCR result
var totalPrice = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
Console.WriteLine("Total Price: " + totalPrice);
}
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.English;
// Code line to load the receipt image
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
// Optimize the input image for OCR
ocrInput.DeNoise(true);
ocrInput.Contrast();
ocrInput.EnhanceResolution();
ocrInput.ToGrayScale();
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Search for the total price in the OCR result
var totalPrice = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
Console.WriteLine("Total Price: " + totalPrice);
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Private ocrTesseract As New IronTesseract()
ocrTesseract.Language = OcrLanguage.English
' Code line to load the receipt image
Using ocrInput As New OcrInput("ocr.png")
' Optimize the input image for OCR
ocrInput.DeNoise(True)
ocrInput.Contrast()
ocrInput.EnhanceResolution()
ocrInput.ToGrayScale()
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
' Search for the total price in the OCR result
Dim totalPrice = If(ocrResult.Text.Contains("Total:"), ocrResult.Text.Split("Total:")(1).Split(vbLf)(0), "")
Console.WriteLine("Total Price: " & totalPrice)
End Using
多虧了由 OcrInput 在 class 中,可以優化輸入圖像以提高 OCR 過程的準確性。
用於示範從收據中提取特定數據的輸入圖像
- Total 16.5
IronOCR 可用於讀取收據上的條形碼以及文字。要使用 IronOCR 讀取收據上的條形碼,您需要使用 BarcodeReader
類別組合中與 ReadBarCodes
方法。
這裡是一個示例,展示了如何使用IronOCR讀取收據圖像上的條碼。
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using (var ocrInput = new OcrInput("b.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using (var ocrInput = new OcrInput("b.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Using ocrInput As New OcrInput("b.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
For Each barcode In ocrResult.Barcodes
Console.WriteLine(barcode.Value)
Next barcode
End Using
讀取條碼的輸入
處理條碼圖像的結果
上述文章解釋了在 C# 專案中安裝和使用 IronOCR 來提取收據數據的過程,並提供了一個示例代碼片段。
請閱讀教程 從圖像中讀取文本。
IronOCR 是 Iron Suite,包括五種不同的.NET程式庫,用於處理文件和圖片。你可以 購買整個Iron Suite 只需兩個的價格 IronOCR 授權試用 IronOCR 於您的生產應用程式中 免費試用.