IronOCR ハウツー 画像の色を修正 C##35;で読みやすいように画像の色を修正する方法 カーティス・チャウ 更新日:2026年1月10日 IronOCR をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English C#でIronOCRの二値化、グレースケール、反転、色置換メソッドを使って画像の色を修正し、テキストの可読性とOCRの精度を向上させます。 ターゲット抽出のために特定のテキストの色をお読みください。 クイックスタート: 特定のテキストの色を分離する IronOCRのSelectTextColorメソッドを使用して、OCRを特定のテキスト色に絞り込みます。 画像を読み込み、テキストの色と許容範囲を選択し、そのテキストのみを抽出して正確なOCR結果を得ます。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronOCR をインストールします PM > Install-Package IronOcr このコード スニペットをコピーして実行します。 new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60)); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう 30日間無料トライアル ## C#で読み取り用に画像の色を修正する方法 画像の色を修正するためのC#ライブラリをダウンロードする 読み取り用にPDFドキュメントと画像をインポートする カラー効果の適用:二値化、グレースケール、反転、色置換 ビューイング用に修正された画像をエクスポート SelectTextColorを使用して特定のテキスト色を読み取ります。 OCRを向上させるために画像を2値化するには? 2値化は、画像を2色形式(通常は白黒)に変換します。これにより、テキストと背景が分離され、ノイズが減少するため、テキストがより明瞭になり、読みやすくなります。 2値化はなぜOCRの精度を向上させるのでしょうか Binarizeメソッドを使用して2値化を適用します。 OCRは、白地に黒文字の高コントラスト画像に最適です。 この方法では、背景と文字が明確に区別されます。 二値化は、照明ムラや背景ノイズのあるスキャン文書に適しています。このアルゴリズムは画像を分析し、前景テキストと背景を分離するための最適なしきい値を決定します。 高度な前処理技術については、OCR Image Optimization Filters ガイドを参照してください。 二値化のコード実装とは :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 バッチ処理では、2値化と他のフィルタを組み合わせてください。 フィルタウィザードを使用して、画像に最適なフィルタの組み合わせを決定します。 結果をエクスポートして比較するにはどうすればよいですか? SaveAsImagesメソッドを使用して、変更した画像をエクスポートします。 二値化前と二値化後の画像を比較してください。 ビフォー アフター 読みやすくするために画像をグレースケールに変換するにはどうすればよいですか? 画像をグレースケールに変換することで、視覚的な乱れを減らし、読みやすさを向上させます。 オリジナルカラーがコンテンツの邪魔になる場合にも役立ちます。 他の方法よりもグレースケールを使用すべきなのはどのような場合ですか? ToGrayScaleメソッドを使用してグレースケールを適用します。 プロセスでは、R、G、Bの値を平均化します。 グレースケールは、テキスト認識の妨げとなる色付きの背景や透かしに適しています。 2値化とは異なり、グレースケールは微妙に変化する画像のディテールを保持します。 テキストが埋め込まれた写真や複雑なレイアウトの写真にお使いください。 低画質スキャンについては、低画質スキャンと画像の修正を参照してください。 グレースケール変換の簡単なコードとは :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 さまざまな画像品質のため、グレースケールと他の前処理ステップを組み合わせてください。 OcrInputクラスのドキュメントでは、複数のフィルタを連結することについて説明しています。 グレースケールはオリジナルと比べてどうですか? ビフォー アフター どのような場合に画像の色を反転させる必要がありますか? 色を反転させるとコントラストが強調されます。黒い背景に白いテキストを白い背景に黒いテキストに変換すると、読みやすさが向上します。 色の反転はどのように実装しますか? 色を反転するには、Invertメソッドを使用してください。 カラーチャンネルを削除してグレースケールを返すには、ブール値を渡します。 色の反転は、ネガ画像や暗いテーマのスクリーンショットを扱います。 最近のアプリケーションは、従来のOCRでは難しかったダークモードのインターフェースを使用しています。 これらの画像を反転させることで、最適な認識を保証します。 さまざまな画像タイプについては、高速 OCR 設定ガイドを参照してください。 :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 ドキュメントの種類が混在するバッチ処理では、自動的に暗い背景を検出する機能を実装します。 IronOCRのコンピュータ・ビジョン機能は、反転が必要なときを特定します。 反転オプションの違いは何ですか? グレースケールの有無でInvertメソッドを比較してください: 反転 反転&グレースケール 画像の特定の色を置き換えるにはどうすればよいですか? 特定の色に置き換えて、要素を強調したり、強調しなかったりします。 テキストを目立たせたり、問題のあるコントラストを修正したりする場合に使用します。 なぜ色の置き換えにおいて公差が重要なのか ReplaceColorメソッドは、現在の色、新しい色、および許容値を必要とします。 より高い耐性は、ぼやけた画像をよりよく処理します。 許容誤差は、ピクセルがターゲットカラーとどの程度一致しなければならないかを決定します。 低い値(0~50)が均一な色に適しています。 高い値(100~200)は、アンチエイリアステキストや圧縮アーチファクトを処理します。 これは、インクのにじみや紙の質感によってばらつきが生じるスキャン文書に役立ちます。 色の置き換えを実装するにはどうすればよいですか? :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 高度な色置換シナリオをどのように扱えばよいですか? 複雑なシナリオのために複数の置換を連鎖させます: /* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */ // Replace multiple colors in sequence using var imageInput = new OcrImageInput("multi-color-document.jpg"); // Replace red text with black imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70); // Replace blue headers with dark gray imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60); // Replace light yellow background with white imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40); // Perform OCR on the cleaned image var result = ocrTesseract.Read(imageInput); /* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */ // Replace multiple colors in sequence using var imageInput = new OcrImageInput("multi-color-document.jpg"); // Replace red text with black imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70); // Replace blue headers with dark gray imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60); // Replace light yellow background with white imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40); // Perform OCR on the cleaned image var result = ocrTesseract.Read(imageInput); Imports IronSoftware.Drawing ' Replace multiple colors in sequence Using imageInput As New OcrImageInput("multi-color-document.jpg") ' Replace red text with black imageInput.ReplaceColor(Color.Red, Color.Black, 70) ' Replace blue headers with dark gray imageInput.ReplaceColor(Color.Blue, Color.DarkGray, 60) ' Replace light yellow background with white imageInput.ReplaceColor(New Color("#FFFACD"), Color.White, 40) ' Perform OCR on the cleaned image Dim result = ocrTesseract.Read(imageInput) End Using $vbLabelText $csharpLabel 複雑な色の置換については、画像補正フィルターを参照してください。 色置換の視覚的な結果は何ですか? ビフォー アフター 特定のテキストの色だけを読むにはどうすればよいですか? SelectTextColorメソッドを使用して、特定のテキスト色を読み取ります。 ターゲットカラーと許容範囲(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 色分けされたセクションのあるフォーム、ハイライトされたテキストの抽出、特定の警告メッセージの読み取りには、選択的なカラー読み取りを使用します。 構造化データ抽出については、高度な処理についてはOcrResult Classを参照してください。 カラー選択からどのような出力が期待できますか? 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); Imports IronOcr Dim ocr As New IronTesseract() Dim ocrInput As New OcrInput() ' Load a PDF file ocrInput.LoadPdf("invoice.pdf") ' Apply gray scale filter ocrInput.ToGrayScale() Dim result As OcrResult = ocr.Read(ocrInput) ' Save the result as a searchable PDF with filters applied result.SaveAsSearchablePdf("outputGrayscale.pdf", True) $vbLabelText $csharpLabel 保存したPDFにフィルタを適用するのはいつですか? よりクリーンで読みやすいドキュメントを作成するには、フィルタを適用します。 これは、アーカイブ目的や異なるデバイス間でのドキュメント共有に役立ちます。 詳細については、OCRで検索可能なPDFを作成するを参照してください。 テーブルを含む複雑なドキュメントについては、Read Table in Document で特殊な抽出をお試しください。 大量の処理については、Multithreaded Tesseract OCR を参照して、複数のドキュメントにまたがるフィルターアプリケーションを最適化してください。 よくある質問 OCRの精度に影響する画像の色の悪さを修正するにはどうすればよいですか? IronOCRは二値化、グレースケール変換、反転、色置換を含むいくつかの色補正方法を提供します。これらのフィルターは、テキストと背景のコントラストを強調することでテキストの可読性を向上させ、OCRエンジンが色品質の悪い画像からテキストを正確に抽出することを容易にします。 二値化とは何ですか? 二値化は、IronOCRの二値化メソッドを使用して画像を二色形式(通常は白黒)に変換します。画像を分析し、分離に最適なしきい値を決定することで、テキストと背景を明確に区別するため、照明ムラや背景ノイズのあるスキャン文書に特に効果的です。 画像から特定の色のテキストだけを抽出する方法を教えてください。 IronOCRのSelectTextColorメソッドは、複雑な画像操作をすることなく、特定のテキスト色にOCRをフォーカスすることができます。例えばSelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60)のように、対象となる色と許容範囲を指定するだけで、その色範囲のテキストのみを抽出することができます。 画像を2値化せずにグレースケールに変換するのはどのような場合ですか? IronOCRのToGrayScaleメソッドは、テキスト認識の妨げとなる色付きの背景や透かしを扱う場合に使用します。二値化とは異なり、グレースケールは微妙に変化する画像のディテールを保持するので、視覚的な乱雑さを抑えながら画質を維持する必要がある場合に最適です。 カラーフィルターの結果を見るために、補正した画像をエクスポートできますか? はい、IronOCRはSaveAsImagesメソッドを提供し、色調補正後の画像をエクスポートします。これにより、補正前と補正後の結果を比較することができ、どの色補正方法が特定の画像に最適かを判断するのに役立ちます。 自分の画像に最適な色調補正フィルタを決定するにはどうすればよいですか? IronOCRには、画像に最適なフィルターの組み合わせを決定するのに役立つフィルターウィザードツールが含まれています。バッチ処理では、二値化のような複数のフィルターを他の前処理技術と組み合わせることで、文書の種類に最適なOCR結果を得ることができます。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 レビュー済み 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,384,824 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 5,384,824 ライセンスを見る