如何使用濾鏡修正圖像以便讀取

Chaknith related to 如何使用濾鏡修正圖像以便讀取
查克尼思·賓
2023年10月30日
已更新 2024年12月10日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

影像校正過濾器是數字影像處理技術,用於提高影像的質量和特性,特別是為了增強文字識別和提取的目的。 IronOcr 中可用的圖像校正濾鏡包括銳化、提高解析度、降噪、膨脹和侵蝕。

這些圖像校正過濾器在 OCR 前對圖像進行預處理中扮演著關鍵角色,它們通過提高文字的品質和可見性以及減少不需要的噪音或雜質來優化圖像,從而實現準確的文字提取。

開始使用IronOCR

立即在您的專案中使用IronOCR,並享受免費試用。

第一步:
green 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方法匯出篩選後的圖像。 以下是應用銳化過濾器前後的圖片比較。

示例圖片
銳化濾鏡已應用

提高解析度過濾器示例

此過濾器旨在提高圖像的像素密度,有效地增強其清晰度和銳利度。 它對於提高低解析度圖像中文字的可讀性特別有用。

同樣地,你可以調用EnhanceResolution方法來應用增強分辨率過濾器。 此方法還接受所需的目標,默認值為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
示例圖片
應用增強解析度濾鏡

降噪篩選器範例

去噪濾波器可以減少圖像中的噪聲或不需要的雜訊。 降噪對於OCR非常重要,因為它有助於將文字與背景干擾隔離,從而獲得更清晰、更準確的識別。

要應用去噪濾波器,請使用 DeNoise 方法。 預設的形態學是2x2,傳遞'true'給方法將啟用3x3形態學。 選擇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
示例圖片
應用了去噪濾波器

Dilate Filter 示例

膨脹是一種濾波器,用於擴展圖像中亮度較高的區域(前景)。 它有助於增厚和加強文字,使其更加突出,便於OCR軟件解讀。

要應用膨脹濾鏡,請使用Dilate方法。 與DeNoise方法類似,預設形態為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
示例圖片
已應用 Dilter 過濾器

腐蝕過濾器範例

另一方面,侵蝕會縮小或減少圖像中亮區域的大小。 這對於精緻化字符和線條非常有用,尤其是當它們較粗或略有扭曲時。

使用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
示例圖片
應用了侵蝕過濾器
Chaknith related to 腐蝕過濾器範例
軟體工程師
Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。