OCR 読み取りを改善する C# 画像補正フィルター

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

画像補正フィルターは、特にテキストの認識と抽出を強化する目的で、画像の品質と特性を改善するために使用されるデジタル画像処理技術です。 IronOcr で使用できる画像補正フィルターには、シャープ化、解像度の向上、ノイズ除去、膨張、侵食があります。

これらの画像補正フィルターは、テキストの品質と可視性を向上させ、不要なノイズやアーティファクトを削減することで、正確なテキスト抽出のために画像を最適化できるため、OCR 前の画像の前処理で重要な役割を果たします。

クイックスタート: クリアテキストにシャープフィルターを適用する

IronOCR の OcrImageInput を使用すると、1 行のコードでぼやけた画像を鮮明にすることができます。 このクイック スタートでは、最小限の労力で画像の鮮明度を高め、正確な 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メソッドを使用して、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メソッドでは、フィルターを使用して保存するかどうかを決定するためのブール フラグを 2 番目のパラメーターとして受け取ることができます。

: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の結果を向上させるために画像品質を向上させる方法はありますか?

IronOCRを使用して、シャープニング、解像度向上、デノイズ、膨張、侵食などの様々な画像補正フィルターを適用することで、OCR結果のために画像品質を向上させることができます。これらのフィルターは、テキストの明確さを改善し、ノイズを低減し、より正確なテキスト抽出を可能にします。

画像前処理でシャープニングフィルターを使用する利点は何ですか?

IronOCRのシャープニングフィルターはエッジのコントラストを増加させ、画像内のテキストの明確さと可読性を向上させます。この向上は、OCRテキスト認識の精度を高めるために重要です。

OCR処理のために画像の解像度を上げるにはどうすればよいですか?

IronOCRで画像の解像度を上げるには、解像度向上フィルターを使用してください。これによりピクセル密度が向上し、低解像度画像のシャープネスと明快さが改善されます。

OCRの前に画像のノイズを減らすためにどのような手順を踏むべきですか?

IronOCRを使用してOCRの前に画像のノイズを減らすには、`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 リリース