使用 IRONOCR

使用計算機視覺進行OCR(範例教程)

Kannaopat Udonpant
坎納帕特·烏頓潘
2023年3月28日
已更新 2024年1月28日
分享:

光學字元識別 (OCR) 是一項技術,可使機器讀取和解釋影像中的文字,使資料處理和自動化更快速且更高效。 本文提供了使用IronOCR庫進行OCR計算機視覺的指南,並介紹了如何通過自動化此過程來增強文字識別。

為什麼光學字符識別 (OCR) 很重要?

OCR 與電腦視覺 是一種先進的光學字符識別(OCR)形式,它利用人工智能和機器學習算法的力量來更準確、更高效地從圖像中識別文本字符。

電腦視覺影像處理算法使 OCR 系統能夠理解圖像中文本的上下文和佈局,並根據字符的形狀和結構識別字符。 光學字符識別(OCR)與計算機視覺相結合,可以從包含多種字體、樣式和大小的複雜圖像中提取文本,使其成為文件數位化、資料提取和自動化中的寶貴工具。

IronOCR:C# OCR 庫

IronOCR 是一個受歡迎的OCR庫,使用計算機視覺技術從圖像和文檔中提取文字。 它易於使用,並可與多種程式語言整合,包括 C# 和 VB.NET。 IronOCR 提供內部部署和雲端版本,並提供多種功能以處理和提取圖像中的文本。

安裝 IronOCR

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

:ProductInstall

IronOCR 的 OCR 系統

以下圖像用於使用 IronOCR 測試具有計算機視覺的光學字符識別系統

電腦視覺進行OCR(範例教程),圖1:用於OCR偵測的圖像範例

用於OCR檢測的圖像範本

尋找文本區域

FindTextRegion 方法用於識別圖像中的單個文字區域。 該方法接受多個可選參數,包括ScaleDilationAmountBinarizeInvert。 Scale 調整圖片的大小,DilationAmount 增加文字的粗細,Binarize 將圖片轉換為黑白,而 Invert 則反轉圖片的顏色。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using inputOCR = New OcrInput("test.jpg")
	inputOCR.FindTextRegion()
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

运行代码后,您会看到它使用机器学习过程从文本区域中提取文本。 輸出結果在控制台中顯示,文字辨識準確率幾乎達到100%。

使用電腦視覺的OCR(示例教程),圖2:從文本提取過程中獲得的終端結果

從文字擷取過程中得出的控制台結果

FindMultipleTextRegions 方法

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

using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using input = New OcrInput("test.jpg")
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

上述代碼片段是一個如何使用 IronOCR 庫對圖像文件進行 OCR 的示例。它首先匯入 IronOCR 庫,並創建一個新的IronTesseract 類實例。 然後,它會初始化一個 OcrInput 對象,設置輸入圖像檔的路徑,並使用 FindMultipleTextRegions 方法應用一些預處理技術進行圖像校正

接著,它呼叫 IronTesseract 物件的 Read 方法,該方法對預處理過的圖像執行 OCR 並返回 OcrResult 物件。 從OcrResult對象提取的文本隨後被存儲在一個字串變量中並打印到控制台。

IronOCR 的輸出

IronOCR 的輸出非常精確,即使在處理具有多種字體、大小和文本樣式的複雜圖像時也是如此。

當從影像中提取數據時,OCR 的準確性至關重要,因為提取的文本通常用於進一步處理,例如數據分析、手動數據輸入、機器學習或自然語言處理。 如果提取的文本包含錯誤,可能會導致後續出現問題。 此外,IronOCR允許調查結果對象以檢查信心水平

OCR電腦視覺的使用案例

光學字符識別(OCR)技術已經徹底改變了打印文本的處理方式。 OCR 工具已成為文件處理和數據提取中不可或缺的一部分。 以下是光學字符識別軟體的一些用例:

OCR 牌照識別

車牌識別 在交通管理自動化、停車系統和執法活動中扮演著重要角色。 透過在 C# 中實現 OCR 電腦視覺,開發者可以創建應用程式,快速且準確地從影像或即時視頻流中識別車牌。 此技術可用於:

  • 監控交通違規並識別涉及犯罪活動的車輛。
  • 自動化停車系統,便利進出管理並簡化計費流程。
  • 透過追蹤和監控車輛在限制區域的移動來增強安全措施。

從發票中提取文本

在 C# 中的光學字符識別 (OCR) 電腦視覺可以用於開發 OCR 應用程式,自動化從發票和其他財務文件中提取文本。 此過程可以大幅減少手動資料輸入錯誤並簡化會計任務。 主要優勢包括:

  • 透過自動化數據輸入流程提高生產力。
  • 提高精確度,因為光學字元辨識(OCR)減少了人為錯誤的可能性。
  • 與會計軟體和系統無縫整合,以實現高效的資料管理。

OCR字幕生成

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

  • 為電影、電視節目和線上視頻製作準確的字幕。
  • 提高對聽力障礙者或使用不同語言者的可及性。
  • 通過為視頻平台提供可搜尋、可編索引的內容來提升 SEO 效果。

OCR PDF 處理

PDF 廣泛用於共享和存儲文件,但從中提取文本可能很有挑戰性。 C#中的OCR計算機視覺可以幫助開發人員構建OCR應用程式,輕鬆處理PDF文件和提取其內容,促進:

數字化印刷文字

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

資料提取

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

圖片搜索

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

翻譯

OCR 軟體可以用來從文件中提取文本,並將其翻譯成其他語言。 這對於國際企業特別有用,因為文件需要快速且準確地翻譯。

摘要

光學字符識別(OCR)是一種使電腦能夠從圖像中識別和讀取文本的技術。 光學字符識別(OCR)及電腦視覺的重要性在於,它使機器能夠理解和解釋視覺世界,這對於自動駕駛汽車、機器人技術和自動化文件處理等應用至關重要。

IronOCR 是一個強大的 OCR 引擎,可以使用計算機視覺來準確識別文本並從圖像中執行文本提取。 它提供了一系列用於查找和提取文本區域的方法,包括FindTextRegionFindMultipleTextRegionsGetTextRegions。 每個方法都有自己的一組參數,可用於微調 OCR 過程,並提供高精度的 OCR。

通過使用IronOCR,您可以使用並發處理自定義配置快速且準確地從輸入圖像中提取掃描文本,這可以在處理大量輸入圖像數據時為您節省時間和精力。 無論您處理的是掃描的文件、照片還是截圖,IronOCR都能幫助您擷取其中的文字。

IronOCR 為想在購買決定前測試軟體的使用者提供免費試用IronOCR 的授權起始於 $749,並包含一年支援和更新。 IronOCR 具有強大的功能和合理的價格,是尋找可靠 OCR 解決方案且具備高精確度的理想選擇。

Kannaopat Udonpant
坎納帕特·烏頓潘
軟體工程師
在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat 也成為了車輛機器人實驗室的成員,該實驗室隸屬於生物生產工程學系。2022 年,他利用自己的 C# 技能,加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。Kannapat 珍視這份工作,因為他可以直接向負責撰寫大部分 IronPDF 程式碼的開發人員學習。除了同儕學習外,Kannapat 還享受在 Iron Software 工作的社交方面。當他不在撰寫程式碼或文件時,Kannapat 通常會在 PS5 上玩遊戲或重看《最後生還者》。
< 上一頁
OCR 收據數據提取(逐步教程)
下一個 >
如何在C#中進行駕照的OCR