跳過到頁腳內容
使用 IRONOCR

如何在 C# 中進行車輛註冊 OCR

車輛登記號碼牌是任何車輛的重要組成部分,可作為法律和行政方面的唯一識別碼。 這些車牌通常包含字母數字字符,代表車輛登記號碼或車輛識別號碼、管轄區等信息,有時還包含其他詳細信息。 在汽車產業,車輛不斷通過各種檢查點,這需要高效、準確的資料擷取和處理方法。 高效提取這些資訊對於各種車輛登記應用至關重要,包括執法、停車管理和車輛追蹤。

在本文中,我們將探討如何使用光學字元辨識 (OCR) 技術有效地從具有不同車牌格式的車輛登記資訊中提取數據,重點是使用 C# 中的IronOCR庫實現此功能。

如何在 C# 中執行車輛登記 OCR

  1. 安裝IronOCR C# 庫,用於車輛登記 OCR(光學字元辨識)。
  2. 使用 OcrInput LoadImage方法匯入影像。
  3. 應用FindTextRegion來提升車牌自動辨識能力。
  4. 使用 IronTesseract Read方法擷取資料。 5.列印車輛登記文件數據,以便進行車牌識別。

自動車牌辨識的重要性

自動車牌辨識(ANPR)系統徹底改變了我們處理車輛登記文件或車輛登記證書的方式。 繁瑣的手動資料輸入時代已經一去不復返了,尤其是在處理像德國車輛登記文件這樣複雜的格式時。 借助車牌自動識別技術,車牌辨識變得非常高效,能夠準確地從不同格式的車牌中提取資料。

這項技術對於車輛登記應用來說尤其寶貴,因為速度和準確性對車輛登記至關重要。 透過自動收集車牌資訊(包括車輛識別號碼),車牌自動識別系統簡化了從車輛登記證中提取資料的過程,與手動資料輸入相比,減少了錯誤,提高了整體效率。

光學字元辨識(OCR)技術在自動擷取車輛登記號碼牌資訊方面發揮關鍵作用。 透過利用 OCR 解決方案,企業和組織可以簡化流程、自動化工作流程、提高準確性並提升整體效率。

IronOCR - C# OCR 軟體庫

IronOCR是一個功能強大的 .NET 函式庫,為 C# 和其他 .NET 語言提供全面的 OCR 功能。 它為開發人員提供了一種直觀且高效的方式來執行 OCR 任務,包括從圖像、PDF 和掃描文件中提取文字。 IronOCR 憑藉其強大的功能和易於整合的特性,簡化了在各種應用程式中實現 OCR 功能的過程。

IronOCR的主要特點

  • 從影像和掃描文件中準確提取文字。
  • 支援多種影像格式,包括 JPEG、PNG、BMP 和 TIFF。
  • 採用先進的影像處理演算法來提高OCR辨識精度。
  • 支援多語言,能夠辨識不同語言的文本。
  • 可依具體需求靈活配置以優化 OCR 效能。
  • 與 .NET 應用程式無縫集成,使 OCR 功能能夠輕鬆融入現有專案中。

先決條件

在繼續操作之前,請確保您已具備以下先決條件:

  • 您的系統上已安裝 Visual Studio 2022。
  • 具備C#程式設計的基本知識。
  • 存取 NuGet 套件管理器以安裝相依性。

建立 C# Visual Studio 專案的步驟

  1. 開啟 Visual Studio 並建立一個新的 C# 專案。

如何在 C# 中執行車輛登記 OCR:圖 1 - Visual Studio

2.根據您的需求選擇適當的專案範本 (例如:主控台應用程式、Windows 表單應用程式)。

如何在 C# 中執行車輛登記 OCR:圖 2 - 新項目

3.指定專案名稱和位置,然後按一下"下一步"。

如何在 C# 中執行車輛登記 OCR:圖 3 - 專案配置

4.從附加資訊中選擇最新的 .NET Framework。 IronOCR 支援最新的 .NET 8.0。點擊"創建"按鈕創建項目。

使用 NuGet 套件管理器安裝 IronOCR 庫

若要在 Visual Studio 專案中安裝 IronOCR:

1.開啟 NuGet 套件管理員控制台。

  1. 執行以下命令安裝 IronOCR:

    Install-Package IronOcr
  2. 或者,您也可以透過右鍵單擊解決方案資源管理器 -> 管理 NuGet 套件來安裝它。
  3. 在"瀏覽"標籤中,搜尋 IronOCR 並按一下"安裝"。

如何在 C# 中執行車輛登記 OCR:圖 4 - 安裝 IronOCR

多種OCR車牌辨識方法

1. 從車牌影像取得車輛信息

OCR技術的主要任務之一是從包含車輛登記號碼牌的圖像中提取資訊。 利用 IronOCR,我們可以輕鬆高精度地完成這項任務。 無論是單獨的車牌影像或是較大文件的一部分,IronOCR 都能幫助我們有效率地擷取相關資料。

要使用 IronOCR 從獨立的車牌圖像中提取訊息,可以使用以下程式碼:

using IronOcr; // Import IronOcr namespace

var ocrTesseract = new IronTesseract(); // Initialize IronTesseract object
using var ocrInput = new OcrInput(); // Create an OcrInput object to hold the image
ocrInput.DeNoise(); // Fixes digital noise and poor scanning
ocrInput.ToGrayScale(); // Converts the image to grayscale
ocrInput.LoadImage(@"images\image.png"); // Load the image for OCR processing
var ocrResult = ocrTesseract.Read(ocrInput); // Perform OCR on the image
Console.WriteLine(ocrResult.Text); // Output the extracted text
using IronOcr; // Import IronOcr namespace

var ocrTesseract = new IronTesseract(); // Initialize IronTesseract object
using var ocrInput = new OcrInput(); // Create an OcrInput object to hold the image
ocrInput.DeNoise(); // Fixes digital noise and poor scanning
ocrInput.ToGrayScale(); // Converts the image to grayscale
ocrInput.LoadImage(@"images\image.png"); // Load the image for OCR processing
var ocrResult = ocrTesseract.Read(ocrInput); // Perform OCR on the image
Console.WriteLine(ocrResult.Text); // Output the extracted text
Imports IronOcr ' Import IronOcr namespace

Private ocrTesseract = New IronTesseract() ' Initialize IronTesseract object
Private ocrInput = New OcrInput() ' Create an OcrInput object to hold the image
ocrInput.DeNoise() ' Fixes digital noise and poor scanning
ocrInput.ToGrayScale() ' Converts the image to grayscale
ocrInput.LoadImage("images\image.png") ' Load the image for OCR processing
Dim ocrResult = ocrTesseract.Read(ocrInput) ' Perform OCR on the image
Console.WriteLine(ocrResult.Text) ' Output the extracted text
$vbLabelText   $csharpLabel

上述程式碼初始化 IronTesseract 對象,載入用於 OCR 處理的圖像文件,使用Read方法對圖像執行 OCR,並將提取的文字列印到控制台。 它展現了 IronOCR 從圖像中提取文字的簡便性,無需任何麻煩。

如需更強大地使用 IronOCR,請造訪此程式碼範例頁面。

輸入影像

如何在 C# 中執行車輛登記 OCR:圖 5 - 車輛登記輸入

輸出

如何在 C# 中執行車輛登記 OCR:圖 6 - 車輛登記 OCR 軟體輸出

2. 利用電腦視覺提高準確率

為了進一步提高準確率,IronOCR 還整合了電腦視覺功能。 IronOCR 利用電腦視覺機器學習演算法,可自動偵測影像中與車輛登記牌對應的文字區域。 此自動化檢測過程確保僅對相關區域進行文本提取分析,從而獲得更準確的結果。

為了利用 IronOCR 的電腦視覺功能進行自動文字區域檢測,從而提高準確率,您可以使用以下程式碼:

using IronOcr; // Import IronOcr namespace

var ocr = new IronTesseract(); // Initialize IronTesseract object
using var input = new OcrInput(); // Create an OcrInput object to hold the image
input.LoadImage("/path/file.png"); // Load the image for OCR processing
input.FindTextRegion(); // Automatically detects the text region in the image
OcrResult result = ocr.Read(input); // Perform OCR on the detected text region
string resultText = result.Text; // Store the extracted text
using IronOcr; // Import IronOcr namespace

var ocr = new IronTesseract(); // Initialize IronTesseract object
using var input = new OcrInput(); // Create an OcrInput object to hold the image
input.LoadImage("/path/file.png"); // Load the image for OCR processing
input.FindTextRegion(); // Automatically detects the text region in the image
OcrResult result = ocr.Read(input); // Perform OCR on the detected text region
string resultText = result.Text; // Store the extracted text
Imports IronOcr ' Import IronOcr namespace

Private ocr = New IronTesseract() ' Initialize IronTesseract object
Private input = New OcrInput() ' Create an OcrInput object to hold the image
input.LoadImage("/path/file.png") ' Load the image for OCR processing
input.FindTextRegion() ' Automatically detects the text region in the image
Dim result As OcrResult = ocr.Read(input) ' Perform OCR on the detected text region
Dim resultText As String = result.Text ' Store the extracted text
$vbLabelText   $csharpLabel

程式碼利用 IronOCR 的FindTextRegion()方法自動偵測輸入影像中與車輛登記牌對應的文字區域,然後再擷取文字。

有關如何在 IronOCR 中使用計算機視覺的更多詳細信息,請訪問:如何使用計算機視覺查找文本

3. 從汽車影像中提取細節

除了獨立的車牌影像外,IronOCR 還能夠透過專門偵測和提取車牌區域,從完整的車輛影像中提取細節。 在需要處理包含整車影像的場景中,此功能非常寶貴,它使我們能夠將 OCR 工作集中在相關部分,從而提高效率和準確性。

要從完整車輛圖像中提取詳細信息,特別是透過檢測和提取車牌區域,您可以使用以下代碼:

using IronOcr; // Import IronOcr namespace

var ocr = new IronTesseract(); // Initialize IronTesseract object
using (var input = new OcrInput()) // Create an OcrInput object to hold the image
{
    var contentArea = new Rectangle(x: 365, y: 240, height: 80, width: 29); // Specify the region of interest
    input.LoadImage(@"path_to_car_image.jpg", contentArea); // Load the image for OCR processing
    var result = ocr.Read(input); // Perform OCR on the specified region
    Console.WriteLine(result.Text); // Output the extracted text
}
using IronOcr; // Import IronOcr namespace

var ocr = new IronTesseract(); // Initialize IronTesseract object
using (var input = new OcrInput()) // Create an OcrInput object to hold the image
{
    var contentArea = new Rectangle(x: 365, y: 240, height: 80, width: 29); // Specify the region of interest
    input.LoadImage(@"path_to_car_image.jpg", contentArea); // Load the image for OCR processing
    var result = ocr.Read(input); // Perform OCR on the specified region
    Console.WriteLine(result.Text); // Output the extracted text
}
Imports IronOcr ' Import IronOcr namespace

Private ocr = New IronTesseract() ' Initialize IronTesseract object
Using input = New OcrInput() ' Create an OcrInput object to hold the image
	Dim contentArea = New Rectangle(x:= 365, y:= 240, height:= 80, width:= 29) ' Specify the region of interest
	input.LoadImage("path_to_car_image.jpg", contentArea) ' Load the image for OCR processing
	Dim result = ocr.Read(input) ' Perform OCR on the specified region
	Console.WriteLine(result.Text) ' Output the extracted text
End Using
$vbLabelText   $csharpLabel

此程式碼使用矩形指定汽車圖像中包含車牌的興趣區域。 IronOCR 然後從該指定區域提取文本,從而實現對汽車圖像的高效處理。

輸入影像

如何在 C# 中執行車輛登記 OCR:圖 7 - 汽車影像輸入

輸出

如何在 C# 中執行車輛登記 OCR:圖 8 - OCR 解決方案輸出

IronOCR 支援獨立的車牌圖像和汽車圖像,並結合電腦視覺和人工智慧進行精確的文字區域檢測,從而能夠可靠且有效率地從車輛登記牌照號碼中提取資訊。

有關 IronOCR 功能的更多詳細信息,請訪問此文件頁面。

結論

總而言之,IronOCR 為 OCR 任務提供了一個強大的解決方案,包括從影像中提取車輛登記資訊。 透過利用其先進的功能和與 .NET 應用程式的無縫集成,開發人員可以簡化流程並提高依賴 OCR 技術的各種應用程式的效率。 借助 IronOCR,自動從車輛登記牌中提取文字變得非常簡單,使企業和組織能夠在營運中實現更高的準確性和生產力。

IronOCR 提供免費試用,起價為$799 。 歡迎下載並試用 IronOCR——它是一款能夠滿足您資料擷取需求的實用工具!

常見問題解答

如何在 C# 中使用 OCR 從車輛登記牌中擷取資料?

您可以使用 IronOCR 全面的 .NET 函式庫來擷取車輛登記牌上的文字。利用 IronTesseract 類別,您可以在 C# 中有效率地讀取和處理各種車牌格式。

什麼是自動車牌辨識 (ANPR),為什麼它很重要?

自動車牌辨識 (ANPR) 是一種用於自動化擷取車輛登記車牌資料的技術。它對於減少執法和停車管理等應用程式中的錯誤和提高效率至關重要。

IronOCR 如何透過電腦視覺提升 OCR 精確度?

IronOCR 透過使用電腦視覺功能來增強 OCR 的精確度,例如 FindTextRegion 方法,可自動偵測影像中的文字區域,並將 OCR 工作集中在這些區域上。

IronOCR 可以用來擷取整車影像中的資料嗎?

是的,IronOCR 可以從完整車輛的影像中偵測並擷取號碼牌區域,讓處理和擷取這些影像中的相關資訊更加容易。

在 C# 專案中使用 IronOCR 的先決條件是什麼?

要在 C# 專案中使用 IronOCR,您需要 Visual Studio 2022、對 C# 程式設計的基本熟悉,以及存取 NuGet Package Manager 以安裝 IronOCR。

如何在我的 Visual Studio 專案中安裝 IronOCR?

您可以在 NuGet 套件管理員控制台執行 Install-Package IronOcr 或在「管理 NuGet 套件」中搜尋 IronOCR,然後按一下「安裝」,即可安裝 IronOCR。

IronOCR 是否有試用版?

是的,IronOCR 提供免費的試用版,讓您可以測試其特色與功能,以滿足您的資料擷取需求。

在 C# 中使用 IronOCR 執行 OCR 任務有哪些優點?

IronOCR 可從影像中準確擷取文字、支援多國語言、進階影像處理,以及與 .NET 應用程式無縫整合,使其成為 C# 中執行 OCR 任務的強大工具。

從車輛登記中擷取資料時,如何提高 OCR 準確度?

為了提高 OCR 的精確度,您可以使用 IronOCR 的 FindTextRegion 方法來集中處理相關的文字區域,並在處理前提升輸入影像的品質。

使用 IronOCR 對車輛登記號碼牌執行 OCR 涉及哪些步驟?

步驟包括安裝 IronOCR、使用 OcrInput.LoadImage 載入影像、套用 FindTextRegion 進行文字區域偵測,以及使用 Read 方法擷取資料。

Kannaopat Udonpant
軟體工程師
在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。