跳至頁尾內容
USING IRONOCR

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

IronOCR的光學字元辨識(OCR)

光學字元辨識(OCR)是一項使機器能夠從影像中讀取和解釋文字的技術,從而加快資料處理和自動化的速度與效率。 本文提供了使用IronOCR程式庫進行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方法用於識別影像中的單個文字區域。 該方法包含多個可選參數,包括Invert

  • 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方法

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類的新實例。 然後,它使用輸入影像文件的路徑初始化一個FindMultipleTextRegions方法應用一些影像校正預處理技術。

IronOCR的輸出結果

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

當從影像中提取資料時,OCR的準確性至關重要,因為提取的文字經常用於進一步處理操作,例如資料分析、手動資料輸入、機器學習或自然語言處理。 如果提取的文字包含錯誤,則可能會導致下游問題。 此外,IronOCR允許檢查結果物件以檢查信心等級

OCR電腦視覺的使用情境

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

OCR車牌辨識

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

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

從發票提取文字

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

  • 通過自動化資料輸入過程提高生產力。
  • 提高準確性,因為OCR減少了人為錯誤的可能性。
  • 與會計軟體和系統無縫整合以進行高效資料管理。

OCR字幕生成

製作影片字幕可能耗時且勞力密集。在C#中使用OCR電腦視覺可以簡化這一過程,自動偵測和轉錄螢幕上的文字,使開發人員能夠:

  • 為電影、電視節目和在線影片建立準確的字幕。
  • 增強對聽力受損人士或說不同語言人士的無障礙支持。
  • 通過為影片平台提供可搜尋、可索引的內容來提升SEO效果。

OCR PDF處理

PDF檔案被廣泛用於分享和儲存文件,但從中提取文字可能存在挑戰。 在C#中使用OCR電腦視覺可以幫助開發人員構建輕鬆處理PDF檔案並提取其內容的OCR應用程式,從而:

數字化印刷文字

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

資料提取

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

影像搜尋

OCR技術也用於影像搜尋,您可以根據影像中包含的文字進行搜尋。 這對於龐大的影像庫尤其有用,手動搜尋將十分耗時。

翻譯

OCR軟體可用於從一種語言的文件中提取文字並將其翻譯成另一種語言。 這對於需要快速且準確翻譯文件的國際業務特別有用。

總結

光學字元辨識(OCR)是一種使電腦能夠從圖像中讀取文字的技術。 OCR及電腦視覺重要的原因是它允許機器理解和解釋視覺世界,這對於自動駕駛汽車、機器人和自動文件處理等應用極其重要。

IronOCR是一個強大的OCR引擎,可以用於與電腦視覺相結合來準確辨識文字,並從影像中進行文字提取。 它提供了一系列用於尋找和提取文字區域的方法,包括GetTextRegions。 每種方法都有其自己的參數集,可用於微調OCR過程,提供高精度的OCR成效。

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

IronOCR提供免費試用給想在購買決策前測試軟體的使用者。 IronOCR的授權起價$999,並包括一年的支持和更新。 憑藉其強大的功能和合理的定價,IronOCR是任何尋求可靠且具有高OCR準確度的人士的一個不錯選擇。

常見問題

如何使用C#將圖片轉換為文字?

您可以使用IronOCR的OCR功能,用C#將圖片轉換為文字。透過運用ReadReadAsync等方法,您可以高效地處理圖片以擷取文字。

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

使用電腦視覺的OCR能從複雜的圖像佈局、字體和樣式中更準確地識別文字。IronOCR利用AI和機器學習來增強文字擷取並自動化資料處理。

如何提高C#中的OCR準確性?

IronOCR提供多種方法提高OCR準確性,包括調整配置設定、使用併發性以及檢查結果物件的信心水平。這有助於調整OCR過程以獲得更好的結果。

從多個區域提取圖片中的文字的過程是什麼?

要使用IronOCR從圖片的多個區域提取文字,您可以使用FindMultipleTextRegions方法。此方法會返回一個CropRectangle物件列表,指示每個文字區域的位置。

OCR技術能用於車牌識別嗎?

可以,IronOCR提供的OCR技術可以應用於車牌識別。通過處理車牌圖像,IronOCR可以為各種應用提取文字。

如何在C#項目中安裝IronOCR?

您可以使用NuGet套件管理器控制台將IronOCR安裝到您的C#項目中。執行命令Install-Package IronOcr來將程式庫新增到您的項目中。

是否有試用版可以試用C#的OCR程式庫?

是的,IronOCR提供了一個免費試用版本,允許使用者在購買授權之前測試該程式庫的能力。

C#的OCR程式庫有什麼授權選項?

IronOCR提供多種授權選項,最便宜的Lite License包括一年支援和更新,以滿足不同專案需求和預算。

Kannaopat Udonpant
軟體工程師
在成為軟體工程師之前,Kannapat在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat還成為車輛機器人實驗室的一員,該實驗室隸屬於生產工程系。在2022年,他憑藉C#技能加入了Iron Software的工程團隊,專注於IronPDF。Kannapat珍視他的工作,因為他能直接向撰寫大部分IronPDF程式碼的開發者學習。除了同儕學習,Kannapat還喜歡在Iron Software工作的社交方面。不寫程式碼或文件時,Kannapat通常在他的PS5上玩遊戲或重看The Last of Us。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話