用於改進 OCR 讀取的 C# 影像校正濾鏡

This article was translated from English: Does it need improvement?
Translated
View the article in English

影像校正濾波器是一種數位影像處理技術,用於改善影像的品質和特性,特別是用於增強文字辨識和擷取。 IronOcr 中可用的影像校正濾鏡有銳利化、增強解析度、降噪、膨脹和腐蝕。

這些影像校正濾鏡在 OCR 之前對影像進行預處理時起著至關重要的作用,因為它們透過提高文字的品質和可見性並減少不必要的雜訊或偽影,幫助優化影像以進行準確的文字擷取。

快速入門:套用銳利化濾鏡以獲得清晰文字

使用 IronOCR 的 OcrImageInput,只需一行程式碼即可銳化模糊影像。 這個快速入門指南將向您展示如何以最少的努力快速提高影像清晰度,並為準確的 OCR 做好準備。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronOCR

    PM > Install-Package IronOcr

  2. 複製並運行這段程式碼。

    new IronOcr.OcrImageInput("sample.png").Sharpen().SaveAsImages("output.png");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronOCR,免費試用!
    arrow pointer


銳利化濾波器範例

此濾鏡可增強影像邊緣的對比度,使其看起來更加清晰。 它提高了文字和細節的清晰度,使 OCR 軟體更容易識別字元。

若要套用銳利化濾鏡,請呼叫 OcrImageInput 物件的Sharpen方法。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-sharpen-filter.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();

// Export filtered image
imageInput.SaveAsImages("sharpen.jpg");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply sharpen filter
imageInput.Sharpen()

' Export filtered image
imageInput.SaveAsImages("sharpen.jpg")
$vbLabelText   $csharpLabel

為了方便起見,您可以使用SaveAsImages方法匯出過濾後的影像。 以下對比的是套用銳利化濾鏡前後的影像。

Sample image
Sharpen filter applied

增強解析度過濾器範例

此濾鏡旨在提高影像的像素密度,從而有效提高影像的清晰度和銳利度。 它對於提高低解析度圖像中文字的清晰度尤其有用。

呼叫EnhanceResolution方法以應用增強解析度過濾器。 此方法接受目標 DPI,預設值為 225 DPI。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-enhance-resolution-filter.cs
// Apply enhance resolution filter
imageInput.EnhanceResolution();
' Apply enhance resolution filter
imageInput.EnhanceResolution()
$vbLabelText   $csharpLabel
Sample image
Enhance resolution filter applied

去噪濾波器範例

降噪濾鏡可以降低影像中的雜訊或不必要的瑕疵程度。 降噪對於 OCR 至關重要,因為它有助於將文字與背景幹擾隔離開來,從而實現更清晰、更準確的識別。

若要套用去噪濾波器,請使用DeNoise方法。 預設形態學為 2x2。若要套用更強的去噪演算法,請傳遞"true"以啟用 3x3 形態學。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-denoise-filter.cs
// Apply denoise filter
imageInput.DeNoise();
' Apply denoise filter
imageInput.DeNoise()
$vbLabelText   $csharpLabel
Sample image
Denoise filter applied

膨脹濾波器範例

膨脹效果會放大影像中較亮的區域(前景)。 它有助於加粗和增強文本,使其更加突出,更容易被 OCR 軟體識別。

若要套用膨脹濾波器,請使用Dilate方法。 預設形態為 2x2,設定為"true"可啟用 3x3 選項。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-dilate-filter.cs
// Apply dilate filter
imageInput.Dilate();
' Apply dilate filter
imageInput.Dilate()
$vbLabelText   $csharpLabel
Sample image
Dilate filter applied

侵蝕過濾器範例

腐蝕可以減少影像中明亮區域的大小,這對於細化字元和線條非常有用,尤其是在它們很粗或扭曲的時候。

使用Erode方法應用腐蝕濾波器。 與先前的方法一樣,預設形態為 2x2,設定為"true"可啟用 3x3。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-erode-filter.cs
// Apply erode filter
imageInput.Erode();
' Apply erode filter
imageInput.Erode()
$vbLabelText   $csharpLabel
Sample image
Erode filter applied

可搜尋的PDF

除了影像過濾選項外,IronOcr 還允許開發人員靈活地保存帶有或不帶有過濾器的修改後的 PDF。 SaveAsSearchablePdf方法允許將布林標誌作為第二個參數,以確定是否要使用過濾器保存。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs
using IronOcr;

var ocr = new IronTesseract();
var ocrInput = new OcrInput();

// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");

// Apply gray scale filter
ocrInput.ToGrayScale();
OcrResult result = ocr.Read(ocrInput);

// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

常見問題解答

如何提高圖片質量以獲得更好的OCR結果?

您可以通過應用各種圖像修正過濾器(如銳化、提升分辨率、去噪、膨脹和腐蝕)提高圖像質量以獲得更好的 OCR 結果。這些過濾器提高了文本的清晰度並減少了噪點,有助於更準確的文本提取。

在圖像預處理中使用銳化過濾器的好處是什麼?

IronOCR 中的銳化過濾器增加了邊緣對比度,改善了圖像中的文本清晰度和可讀性。這種增強對於提高 OCR 文本識別的準確性至關重要。

如何提升圖像的分辨率以進行 OCR 處理?

要在 IronOCR 中提升圖像的分辨率以進行 OCR 處理,請使用提升分辨率過濾器,這可以提高像素密度,改善低分辨率圖像的銳度和清晰度。

在 OCR 之前應遵循哪些步驟來減少圖像中的噪點?

要使用 IronOCR 減少圖像中的噪點,請應用 `DeNoise` 方法。對於更強的噪點減少,可以啟用 3x3 形態設定,將選項設置為 'true'。

膨脹過濾如何影響圖像中的文本顯示?

IronOCR 中的膨脹過濾擴大了圖像中較亮的區域,使文本更突出,幫助 OCR 過程更有效地解讀字符。

如何使用腐蝕過濾來改善文本?

要使用 IronOCR 中的腐蝕過濾來改善文本,請使用 `Erode` 方法。此過濾器減小了亮區域的大小,幫助改善圖像中厚重或扭曲的字符和線條。

增強圖像分辨率推薦的 DPI 設置是多少?

IronOCR 中增強分辨率過濾器的默認 DPI 設置為 225 DPI。然而,您可以根據需求指定不同的 DPI 以優化圖像清晰度。

在 IronOCR 中調整膨脹效果的強度是否可能?

是的,可以在 IronOCR 中通過啟用更強的 3x3 形態設定來調整膨脹效果的強度,而這是在膨脹過濾應用期間通過設置選項為 'true' 來完成的。

如何在 .NET C# 中開始使用圖像修正過濾器?

要在 .NET C# 中開始使用圖像修正過濾器,請通過 NuGet 下載 IronOCR 庫,導入您的圖像,應用所需的過濾器如銳化或去噪,然後導出增強後的圖像以進行 OCR 處理。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 5,167,857 | Version: 2025.11 剛發表