C# で画像の色を修正して読みやすくする方法

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

画像の色を修正するには、画像の読みやすさと品質を向上させるためのいくつかの手法が必要です。 IronOcr は、画像内のテキストやコンテンツをより読みやすく美しくするための 2 値化、グレースケール、反転、および色置換の方法を提供します。これは、OCR (光学式文字認識) を使用して画像からテキストを抽出する場合に特に重要です。 選択したテキストカラーのみの読み取りも可能です。

クイックスタート: 特定のテキスト色を一度に分離する

IronOCR の SelectTextColor メソッドを使用すると、複雑な画像操作を行うことなく、必要なテキストの色のみに OCR を集中させることができます。 1 行で画像を読み込み、テキストの色と許容値を選択し、そのテキストのみを抽出して正確な OCR 結果を得ることができます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronOCR をインストールします

    PM > Install-Package IronOcr

  2. このコード スニペットをコピーして実行します。

    new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60));
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう
    arrow pointer


画像の二値化の例

この処理では、画像を2色(通常は白黒)に変換します。テキストを背景から分離し、ノイズを軽減することで、テキストをより明瞭に読みやすくするのに役立ちます。

画像に二値化効果を適用するには、 Binarizeメソッドを使用します。 OCR プロセスは、白い背景に黒い文字が描かれた最もコントラストの高い画像で最も効果的に機能するため、この方法は背景を文字から非常に区別しやすくする上で効果的です。

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

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply binarize affect
imageInput.Binarize();

// Export the modified image
imageInput.SaveAsImages("binarize.jpg");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply binarize affect
imageInput.Binarize()

' Export the modified image
imageInput.SaveAsImages("binarize.jpg")
$vbLabelText   $csharpLabel

便宜上、 SaveAsImagesメソッドを使用して変更された画像をエクスポートできます。 以下は二値化前後の画像の比較です。

Sample image
Binarized image

グレースケール画像の例

画像をさまざまなグレーの濃淡に変換すると、気が散ることがなくなり、読みやすくなります。 これは、画像内の元の色によって視覚的な混乱が生じている場合に特に役立ちます。

画像にグレースケール効果を適用するには、 ToGrayScaleメソッドを使用します。 グレースケール処理では、R、G、B の値の平均が取られます。

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs
// Apply grayscale affect
imageInput.ToGrayScale();
' Apply grayscale affect
imageInput.ToGrayScale()
$vbLabelText   $csharpLabel
Sample image
Grayscaled image

画像の反転例

色を反転させることでコントラストを高めることができます。たとえば、黒い背景に白いテキストを持つものを白い背景に黒いテキストに変えることで、読みやすさが向上します。

画像の色を反転するには、 Invertメソッドを使用します。 このメソッドはオプションでブール値を受け入れ、それを使用してすべてのカラー チャネルを削除し、グレースケール イメージを返します。

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs
// Apply invert affect
imageInput.Invert();
' Apply invert affect
imageInput.Invert()
$vbLabelText   $csharpLabel

以下の画像は、グレースケール オプションを使用する場合と使用しない場合の反転方法を示しています。

反転 image
反転 and grayscaled image

色の置き換えの例

このテクニックを使用すると、画像内の特定の色を他の色に置き換えることができ、特定の要素を強調したり、目立たなくしたりすることができます。 テキストを目立たせたり、問題のある色のコントラストを修正したりするためによく使用されます。

ReplaceColorメソッドを使用するには、新しい色だけでなく、置き換える現在の色も指定します。 許容値に対応するメソッドの 3 番目のパラメータも重要です。 望ましい結果を得るには、ぼやけた画像に対してより高い許容度が必要となります。

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

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C");
IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan;

// Replace color
imageInput.ReplaceColor(currentColor, newColor, 80);

// Export the modified image
imageInput.SaveAsImages("replaceColor");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
Private currentColor As New IronSoftware.Drawing.Color("#DB645C")
Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan

' Replace color
imageInput.ReplaceColor(currentColor, newColor, 80)

' Export the modified image
imageInput.SaveAsImages("replaceColor")
$vbLabelText   $csharpLabel
Sample image
Replaced color image

特定のテキスト色の例を読む

この機能は、指定されたテキスト色のみを読み取ることを目的としています。 SelectTextColorメソッドを使用して、IronOcr がフォーカスする色と許容値を指定します。 許容値は 0 ~ 255 の範囲を受け入れます。これは、色空間内の各 R、G、B 値に対してピクセル色と選択された色との許容差を表します。

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs
using IronOcr;
using System;

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Text color to focus on
IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C");

// Specify which text color to read
imageInput.SelectTextColor(focusColor, 60);

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Text color to focus on
Private focusColor As New IronSoftware.Drawing.Color("#DB645C")

' Specify which text color to read
imageInput.SelectTextColor(focusColor, 60)

' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output result to console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

以下に、オレンジ色っぽいテキストのみを読み取ることを目的とした OCR の結果を示します。

OCR結果

検索可能なPDF

IronOcr では、画像フィルタリング オプションが提供されるだけでなく、開発者はこれらのフィルターを適用した状態でも適用しない状態でも、変更した PDF を保存できます。 SaveAsSearchablePdfメソッドには、2 番目のパラメータとしてブール フラグが含まれており、ユーザーはこれを使用して、フィルターを有効または無効にして PDF を保存するかどうかを指定できます。

: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

よくある質問

.NET C#でのOCRのために画像の色をどのように強化できますか?

.NET C#のOCRのために画像の色を強化するには、IronOCRを使用します。まずNuGetからIronOCRライブラリをダウンロードし、画像をインポートして、バイナリ化、グレースケール、反転などの色補正技術を適用してテキストの読みやすさを向上させます。

画像色補正におけるバイナリ化の役割は何ですか?

画像色補正におけるバイナリ化は、画像を白黒フォーマットに変換し、ノイズを減らしてテキストをバックグラウンドから分離し、IronOCRを使用したより良いOCR結果のためにテキストをより際立たせます。

グレースケール効果を適用することがOCRプロセスにどう役立つのですか?

グレースケール効果を適用することで、画像をグレーのシェードに変換して色の影響を減らします。この単純化により画像が無秩序にならず、テキストの読みやすさが向上し、IronOCRを使用したOCRプロセスに役立ちます。

テキスト抽出のために画像の色を反転することの利点は何ですか?

画像の色を反転することで、色の配色を変えてコントラストを向上させ、たとえば黒い背景に白いテキストを白い背景に黒いテキストに変えることができます。このコントラストの改善により、OCRを使用したときにIronOCRのテキスト抽出の精度が向上します。

より良いOCR結果のために、画像内の特定の色をどのように変更できますか?

より良いOCR結果のために画像内の特定の色を変更するには、IronOCRのReplaceColorメソッドを使用します。元の色、新しい色を指定し、色置換を微調整するための許容値を調整します。

OCRの間に特定の色のテキストに焦点を当てることは可能ですか?

はい、IronOCRのSelectTextColorメソッドを使用して、OCR中に特定の色のテキストに焦点を当てることができます。これによりターゲットのテキストカラーと許容値を指定でき、カラーテキストのOCR精度が向上します。

色補正後に変更した画像をどのようにエクスポートしますか?

色補正を画像に適用した後、IronOCRのSaveAsImagesメソッドを使用してエクスポートできます。これにより、さらに処理やビューイングのために変更された画像を保存することができます。

OCR精度にとって画像のコントラストを調整することがなぜ重要ですか?

画像のコントラストを調整することは、OCR精度に不可欠です。コントラストを調整することで、テキストを背景から区別し、文字をより目立たせ、特にIronOCRを使用する場合にOCRアルゴリズムが簡単に抽出できるようにします。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 5,167,857 | Version: 2025.11 リリース