跳過到頁腳內容
使用 IRONOCR

伴隨電腦視覺的 OCR(範例教學)

使用 IronOCR 進行光學字元辨識 (OCR)

光學字元辨識 (OCR) 是一種使機器能夠讀取和解釋影像中的文字的技術,從而使資料處理和自動化更快、更有效率。 本文提供了有關使用 IronOCR 庫進行 OCR 識別的指南,以及如何利用 OCR 增強文字辨識並實現自動化識別流程。

為什麼OCR很重要?

OCR 與電腦視覺相結合,是一種先進的光學字元辨識 (OCR) 技術,它利用人工智慧和機器學習演算法的力量,更準確、更有效率地從圖像中識別文字字元。

電腦視覺圖像處理演算法使 OCR 系統能夠理解圖像中文字的上下文和佈局,並根據字元的形狀和結構識別字元。 OCR 與電腦視覺技術結合,可以從具有多種字體、樣式和大小的複雜圖像中提取文本,使其成為文件數位化、資料提取和自動化方面的寶貴工具。

IronOCR:C# OCR庫

IronOCR是一個流行的 OCR 庫,它使用電腦視覺技術從圖像和文件中提取文字。 它易於使用,並可與多種程式語言集成,包括 C# 和 VB.NET。 IronOCR 提供本機部署版和雲端版本,並提供一系列功能來處理和擷取影像中的文字。

安裝 IronOCR

若要安裝 IronOCR,請在 NuGet 套件管理器控制台中使用下列命令:

Install-Package IronOcr

IronOCR 的 OCR 系統

以下影像用於使用 IronOCR進行電腦視覺 OCR 系統測試。

電腦視覺OCR(範例教學),圖1:用於OCR檢測的影像樣本 用於OCR檢測的影像樣本

FindTextRegion 方法

FindTextRegion方法用於識別圖像中的單一文字區域。 此方法接受幾個可選參數,包括ScaleDilationAmountBinarizeInvert

  • Scale可調整影像大小,以提高文字辨識率。
  • DilationAmount增加文字的粗細以增強可視性。
  • Binarize將影像轉換為黑白影像,從而提高對比度。
  • Invert影像的顏色,這對於某些類型的影像非常有用。
using IronOcr;
using System;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var inputOCR = new OcrInput("test.jpg")) 
{
    // Identify a text region within the image
    inputOCR.FindTextRegion();

    // Perform OCR on the identified text region
    OcrResult result = ocr.Read(inputOCR);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var inputOCR = new OcrInput("test.jpg")) 
{
    // Identify a text region within the image
    inputOCR.FindTextRegion();

    // Perform OCR on the identified text region
    OcrResult result = ocr.Read(inputOCR);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

' Initialize the IronTesseract OCR engine
Private ocr = New IronTesseract()

' Create an OcrInput object for the image
Using inputOCR = New OcrInput("test.jpg")
	' Identify a text region within the image
	inputOCR.FindTextRegion()

	' Perform OCR on the identified text region
	Dim result As OcrResult = ocr.Read(inputOCR)

	' Extract and print the recognized text
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

注意:運行程式碼後,您會看到它使用機器學習過程從文字區域提取文字。 輸出結果顯示在控制台中,文字辨識準確率很高。

電腦視覺OCR(範例教學),圖2:文字擷取過程的控制台結果 控制台是文字擷取過程的結果

FindMultipleTextRegions 方法

FindMultipleTextRegions方法與FindTextRegion方法類似,但它用於圖像中存在多個文字區域的情況。 它傳回一個CropRectangle物件列表,這些物件定義了每個文字區域的位置。 當您想要從包含多個文字部分的圖像中提取文字時,此方法非常有用。

using IronOcr;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var input = new OcrInput("test.jpg"))
{
    // Identify multiple text regions within the image
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);

    // Perform OCR on the pre-processed image
    OcrResult result = ocr.Read(input);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var input = new OcrInput("test.jpg"))
{
    // Identify multiple text regions within the image
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);

    // Perform OCR on the pre-processed image
    OcrResult result = ocr.Read(input);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

' Initialize the IronTesseract OCR engine
Private ocr = New IronTesseract()

' Create an OcrInput object for the image
Using input = New OcrInput("test.jpg")
	' Identify multiple text regions within the image
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)

	' Perform OCR on the pre-processed image
	Dim result As OcrResult = ocr.Read(input)

	' Extract and print the recognized text
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

說明:以上程式碼片段展示如何使用 IronOCR 函式庫對影像檔案執行 OCR 辨識。它首先導入 IronOCR 庫,然後建立一個IronTesseract類別的新實例。 然後,它使用輸入影像檔案的路徑初始化一個OcrInput對象,並使用FindMultipleTextRegions方法應用一些影像校正的預處理技術。

IronOCR 的輸出

即使處理具有多種字體、大小和样式的文字的複雜圖像,IronOCR 的輸出也非常準確。

從圖像中提取資料時,OCR 的準確性至關重要,因為提取的文字通常用於進一步處理,例如資料分析、手動資料輸入、機器學習或自然語言處理。 如果提取的文字包含錯誤,可能會在後續流程中造成問題。 此外,IronOCR 還允許對結果對象進行調查,以檢查置信度

OCR電腦視覺的應用案例

光學字元辨識(OCR)技術徹底改變了印刷文字的處理方式。 OCR 工具已成為文件處理和資料擷取中不可或缺的一部分。 以下是一些光學字元辨識軟體的應用案例:

OCR車牌識別

車牌辨識技術在交通管理、停車系統和執法活動的自動化方面發揮著重要作用。 透過在 C# 中實現 OCR 電腦視覺,開發人員可以創建能夠從影像或即時視訊串流中快速準確地識別車牌的應用程式。 這項技術可用於:

  • 監控交通違規行為,並辨識參與犯罪活動的車輛。
  • 實現停車系統自動化,方便車輛進出管理,簡化計費流程。
  • 透過追蹤和監控限制區域內的車輛移動來加強安全措施。

從發票中提取文本

C# 中的 OCR 電腦視覺技術可用於開發 OCR 應用程序,自動從發票和其他財務文件中提取文字。 此流程可大幅減少人工資料輸入錯誤,並簡化會計工作。 主要優勢包括:

  • 透過自動化資料輸入流程提高了生產效率。
  • 提高了準確性,因為 OCR 降低了人為錯誤的可能性。
  • 與會計軟體和系統無縫集成,實現高效的資料管理。

OCR字幕生成

為影片創建字幕可能既耗時又費力。 C# 中的 OCR 電腦視覺技術可以透過自動檢測和轉錄螢幕上的文字來簡化這一過程,使開發人員能夠:

  • 為電影、電視節目和網路影片創建準確的字幕。
  • 提高聽力障礙人士或使用不同語言人士的無障礙體驗。
  • 透過為影片平台提供可搜尋、可索引的內容來提升搜尋引擎優化效果

OCR PDF處理

PDF 文件廣泛用於共享和儲存文檔,但從中提取文字可能具有挑戰性。 C# 中的 OCR 電腦視覺技術可以幫助開發人員建立 OCR 應用程序,輕鬆處理 PDF 文件並提取其內容,從而實現以下目標:

印刷文字數位化

OCR軟體廣泛用於將文件影像中的印刷文字數位化。 OCR 工具可以從各種格式的掃描數位文件、 PDF圖像中提取文字。 這在文件管理中尤其有用,您可以輕鬆搜尋、儲存和共用基於文字的文件。

資料擷取

OCR技術廣泛用於從發票、收據和表格等輸入資料中提取資料。 OCR模型可以識別和提取關鍵資料字段,例如姓名、地址、日期和金額。 這樣就無需手動輸入數據,並減少了數據處理中的錯誤。

圖片搜尋

OCR技術也用於圖像搜索,您可以根據圖像中包含的文字搜尋圖像。 這對於大型圖像庫尤其有用,因為手動搜尋會非常耗時。

翻譯

OCR軟體可用於從一種語言的文檔中提取文本,並將其翻譯成另一種語言。 這對於需要快速且準確地翻譯文件的國際企業來說尤其有用。

摘要

光學字元辨識(OCR)是一種使電腦能夠從圖像中讀取文字的技術。 OCR 與電腦視覺相結合非常重要,因為它使機器能夠理解和解釋視覺世界,這對於自動駕駛汽車、機器人和自動文件處理等應用至關重要。

IronOCR 是一款功能強大的 OCR 引擎,可將 OCR 與電腦視覺結合,準確識別文字並從圖像中提取文字。 它提供了一系列用於尋找和提取文字區域的方法,包括FindTextRegionFindMultipleTextRegionsGetTextRegions 。 每種方法都有自己的一組參數,可用於微調 OCR 過程並提供較高的 OCR 準確率。

透過使用 IronOCR,您可以利用並發性自訂配置,快速且準確地從輸入影像中提取掃描文本,這在處理大量輸入影像資料時可以節省您的時間和精力。 無論您是處理掃描文件、照片還是螢幕截圖,IronOCR 都能幫助您識別其中的文字。

IronOCR 為希望在購買前測試軟體的用戶提供免費試用IronOCR 的許可證起價為$799 ,包含一年的支援和更新。 IronOCR 功能強大,價格合理,對於任何尋求可靠且 OCR 精度高的 OCR 解決方案的人來說,都是一個不錯的選擇。

常見問題解答

如何使用 C# 將影像轉換為文字?

您可以使用 IronOcr 的 OCR 功能,用 C# 將影像轉換成文字。透過利用 ReadReadAsync 等方法,您可以有效率地處理影像以擷取文字。

使用電腦視覺的 OCR 有什麼好處?

使用 OCR 與電腦視覺可以從複雜的影像佈局、字型和樣式中辨識出更精確的文字。IronOCR 利用人工智能和機器學習來加強文字擷取,並自動處理資料。

如何在 C# 中提高 OCR 精確度?

IronOcr 提供各種方法來提高 OCR 精確度,包括調整組態設定、使用並發功能,以及檢查結果物件的置信度。這有助於微調 OCR 流程,以獲得更好的結果。

從影像中的多個區域擷取文字的流程為何?

若要使用 IronOCR 從影像中的多個區域擷取文字,您可以使用 FindMultipleTextRegions 方法。此方法會返回一個 CropRectangle 物件的清單,指出每個文字區域的位置。

OCR 技術可以用於車牌辨識嗎?

是的,OCR 技術,例如 IronOCR 提供的技術,可以應用在車牌辨識上。透過處理車牌的影像,IronOCR 可以將文字擷取出來,供各種應用程式使用。

如何在 C# 專案中安裝 IronOCR?

您可以使用 NuGet Package Manager Console 將 IronOCR 安裝到您的 C# 專案中。執行指令 Install-Package IronOcr 以將函式庫新增至您的專案。

是否有試用版可供試用 C# OCR 函式庫?

是的,IronOCR 提供免費試用版本,讓使用者在承諾購買授權之前,先測試該函式庫的功能。

C# 語言的 OCR 函式庫有哪些授權選項?

IronOCR 提供從 $liteLicense 起的各種授權選項,包含一年的支援與更新,可滿足不同專案的需求與預算。

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