C#のOCR CodeProjectチュートリアル:IronOCRで画像からテキストを抽出する
光学式文字認識(OCR)は、開発者が.NETプロジェクトで文書処理を行う方法を変えます。 スキャン文書、画像ファイル、TIFFファイルのいずれを扱う場合でも、信頼性の高いOCRソリューションを導入することで、アプリケーションはテキストを抽出し、視覚データを機械可読コンテンツに変換することができます。 この記事では、テキスト認識プロセス全体を簡素化する強力なOCRライブラリであるIronOCRを使用して、C# CodeProjectでOCRを使用する方法を紹介します。
IronOCRの無料トライアルを開始し、これらのコードサンプルに従ってください。
私の .NET プロジェクトで OCR ライブラリをセットアップするにはどうすればよいですか?
Visual Studioで光学式文字認識(OCR)を設定するには、わずかな手順が必要です。 IronOCRライブラリはNuGet経由で入手可能で、Windowsアプリケーションに簡単に統合できます。
Visual Studioを開き、新しいコンソールアプリケーションプロジェクトを作成します。 ソリューション・エクスプローラーでリファレンスを右クリックし、"Manage NuGet Packages "を選択します。IronOcr "を検索し、パッケージをインストールする。 NuGetパッケージマネージャは、必要なすべてのDLLファイルをダウンロードし、プロジェクトに自動的に参照を追加します。
// Install via Package Manager Console
Install-Package IronOCR// Install via Package Manager Console
Install-Package IronOCRIRON VB CONVERTER ERROR developers@ironsoftware.comインストールしたら、using文を追加してIronOCR名前空間をプログラムにインポートする。 このライブラリは、.NET Framework 4.6.2+と.NET Coreをサポートしており、さまざまなプロジェクトタイプやWindowsバージョンでの互換性を確保しています。
画像ファイルからテキストを抽出するにはどうすればよいですか?
OCRプロセスの最初のステップは画像を読み込み、OCRエンジンに通すことです。IronOCRは文字認識操作のための主要なOCR APIとしてIronTesseractクラスを提供しています。 このOCRサンプルは、あらゆる画像ファイルからテキストを抽出するための基本的なアプローチを示しています。
using System;
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize the new Tesseract engine
var ocr = new IronTesseract();
// Load the image file and perform OCR
using (var input = new OcrInput())
{
input.LoadImage(@"sample-document.png");
// Process the image and extract text
OcrResult result = ocr.Read(input);
// Output the recognized text
var text = result.Text;
Console.WriteLine(text);
}
}
}using System;
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize the new Tesseract engine
var ocr = new IronTesseract();
// Load the image file and perform OCR
using (var input = new OcrInput())
{
input.LoadImage(@"sample-document.png");
// Process the image and extract text
OcrResult result = ocr.Read(input);
// Output the recognized text
var text = result.Text;
Console.WriteLine(text);
}
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com光学式文字認識出力
OCR in C# CodeProject Tutorial:IronOCRで画像からテキストを抽出する: 画像1 - OCR出力のスクリーンショット。
上記のコードは、すべてのテキスト認識操作のためのOCRエンジンとして機能するIronTesseractオブジェクトを作成します。 OcrInputクラスは、PNG、JPEG、BMP、GIF、TIFFなど、さまざまな画像フォーマットを受け入れます。 Readメソッドを呼び出すと、ライブラリは入力画像を処理し、認識されたテキストを含むOcrResultオブジェクトを返します。
OcrResult.Text プロパティは、抽出されたコンテンツをプレーン・テキスト文字列として提供し、アプリケーションでさらに処理できるようにします。 このOCRコードは、複雑な文字認識アルゴリズムを内部で処理し、さまざまなドキュメントタイプにわたって高い精度で認識結果を提供します。
スキャンしたドキュメントや TIFF ファイルを処理するにはどうすればよいですか?
実際のアプリケーションでは、TIFFファイルとして保存された複数ページのスキャン文書を処理する必要があることがよくあります。 OCRライブラリは、開発者が特定のページ範囲を読み込んだり、文書全体を処理したりできるようにすることで、これらのシナリオを効率的に処理します。 このサンプルコードは、マルチフレームTIFF画像を扱う方法を示しています。
using System;
using IronOcr;
class Program
{
static void Main(string[] args)
{
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
// Load specific pages from a multi-page TIFF file
int[] pageIndices = new int[] { 0, 1, 2 };
input.LoadImageFrames(@"scanned-documents.tiff", pageIndices);
// Apply image enhancement for better results
input.Deskew();
OcrResult result = ocr.Read(input);
// Access page-by-page results
foreach (var page in result.Pages)
{
Console.WriteLine($"Page {page.PageNumber}:");
Console.WriteLine(page.Text);
}
}
}
}using System;
using IronOcr;
class Program
{
static void Main(string[] args)
{
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
// Load specific pages from a multi-page TIFF file
int[] pageIndices = new int[] { 0, 1, 2 };
input.LoadImageFrames(@"scanned-documents.tiff", pageIndices);
// Apply image enhancement for better results
input.Deskew();
OcrResult result = ocr.Read(input);
// Access page-by-page results
foreach (var page in result.Pages)
{
Console.WriteLine($"Page {page.PageNumber}:");
Console.WriteLine(page.Text);
}
}
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com複数ページの TIFF ファイルからの OCR 出力
OCR in C# CodeProject Tutorial:IronOCRで画像からテキストを抽出する: 画像2 - 複数ページのTIFF OCR出力.
LoadImageFrames メソッドは、ファイルパスと、処理するページを指定する整数配列を受け入れます。 このアプローチは、大規模なドキュメントアーカイブから特定のページだけを必要とする場合に、パフォーマンスを最適化します。 傾き補正フィルタは、スキャン画像の回転や位置の問題を補正し、画質とOCR精度を向上させます。
翻訳結果の各ページは、段落、行、個々の単語を含むレイアウト情報を維持します。 OCR APIは、信頼度スコアと位置決めデータへのアクセスを提供し、単純なテキスト抽出を超えた高度な文書分析を可能にします。
OCRコードのエラーを処理し、認識結果を向上させるにはどうすればよいですか?
本番アプリケーションでは、さまざまな例外シナリオを管理するための適切なエラー処理が必要です。 画質の問題、サポートされていないファイル形式、または破損したファイルは、OCRプロセスを失敗させる可能性があります。 例外処理を実装することで、アプリケーションがこのような状況に優雅に対応できるようになります。
using System;
using IronOcr;
class Program
{
static void Main(string[] args)
{
var ocr = new IronTesseract();
// Configure the OCR engine for your language
ocr.Language = OcrLanguage.English;
try
{
using (var input = new OcrInput())
{
input.LoadImage(@"document.png");
// Enhance low-quality images
input.DeNoise();
input.Deskew();
OcrResult result = ocr.Read(input);
if (result.Text.Length > 0)
{
Console.WriteLine("Recognized text:");
Console.WriteLine(result.Text);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"OCR Error: {ex.Message}");
}
}
}using System;
using IronOcr;
class Program
{
static void Main(string[] args)
{
var ocr = new IronTesseract();
// Configure the OCR engine for your language
ocr.Language = OcrLanguage.English;
try
{
using (var input = new OcrInput())
{
input.LoadImage(@"document.png");
// Enhance low-quality images
input.DeNoise();
input.Deskew();
OcrResult result = ocr.Read(input);
if (result.Text.Length > 0)
{
Console.WriteLine("Recognized text:");
Console.WriteLine(result.Text);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"OCR Error: {ex.Message}");
}
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comLanguageプロパティは、OCRエンジンがテキスト認識に使用する言語パックを設定します。 IronOCRは125以上の言語をサポートしており、それぞれ個別のNuGetパッケージとして提供されています。 DeNoiseフィルタはスキャン文書からデジタルアーチファクトを除去し、Deskewはアライメントを補正します。
認識されたテキストから検索可能なPDFを作成するには? スキャン文書を検索可能なPDFファイルに変換することは、最も価値のあるOCRアプリケーションの1つです。 ユーザーは、これまで画像のみのドキュメントからテキストを検索、選択、コピーすることができます。 この変換により、文書管理システムはコンテンツのインデックスを作成し、アクセシビリティを向上させることができます。 ```cs using System; using IronOcr; class Program { static void Main(string[] args) { var ocr = new IronTesseract(); using (var input = new OcrInput()) { // Set document metadata input.Title = "Converted Document"; // Load source images or existing PDF input.LoadImage(@"page1.png"); input.LoadImage(@"page2.png"); OcrResult result = ocr.Read(input); // Save as searchable PDF with embedded text layer result.SaveAsSearchablePdf(@"searchable-output.pdf"); Console.WriteLine("Searchable PDF created successfully."); Console.WriteLine($"Total pages processed: {result.Pages.Count}"); } } } ``` ### 検索可能なPDFドキュメントを出力する。 [OCR in C# CodeProject Tutorial:IronOCRで画像からテキストを抽出:画像3 - 入力画像から検索可能なPDFを作成](/static-assets/ocr/blog/ocr-csharp-codeproject/ocr-csharp-codeproject-3.webp)
SaveAsSearchablePdfメソッドは、不可視のテキストレイヤーを埋め込みながら、元の画像の外観を保持したPDFファイルを生成します。 このアプローチでは、視覚的な出力がソースと完全に一致するようにすることで、文書の忠実性を維持すると同時に、全文検索を可能にします。 Microsoft Officeアプリケーション、Adobe Reader、その他のPDFビューアは、認識されたテキストを検索し、インデックスを作成することができます。 HTML出力を必要とするアプリケーションのために、IronOCRはhOCRフォーマットで結果をエクスポートするSaveAsHocrFileメソッドも提供しています。 このXMLベースの標準には、単語ごとの位置決めデータが含まれており、ウェブベースのドキュメントビューアや高度なテキスト分析ワークフローを可能にします。 ## 結論 C#プロジェクトに光学式文字認識を実装するのはIronOCRを使えば簡単です。 このライブラリは、複雑な画像処理を処理し、複数の画像形式と言語をサポートし、検索可能なPDF生成を含む柔軟な出力オプションを提供します。 単純なテキスト抽出から複数ページの TIFF ドキュメントの処理まで、このチュートリアルのサンプルは、開発者が必要とする中核的なワークフローを示しています。 [IronOCRドキュメント](/docs/)は、[高度な画像フィルター](/csharp/ocr/tutorials/c-sharp-ocr-image-filters/)、[バーコード読み取り](/csharp/ocr/how-to/barcodes/)、および[領域固有のOCR処理](/csharp/ocr/how-to/ocr-region-of-an-image/)の追加コード例を提供します。 [APIリファレンス](/csharp/ocr/object-reference/api/)は、包括的な文書処理ソリューションを構築するために利用可能なすべてのクラスとメソッドを詳細に説明します。よくある質問
OCRとは何か、C#開発者にどのようなメリットがあるのか?
OCR(Optical Character Recognition)は、スキャンした紙文書やPDF、デジタルカメラで撮影した画像など、さまざまな種類の文書を編集・検索可能なデータに変換する技術です。C#開発者にとって、OCRはアプリケーションで画像やスキャンした文書からテキストを抽出し、データのアクセシビリティとユーザビリティを向上させることで、文書処理を簡素化します。
C#プロジェクトにOCRを実装するには?
IronOCRライブラリを使用することで、C#プロジェクトにOCRを実装することができます。このライブラリは、.NETアプリケーション内で画像やスキャンした文書からテキストを抽出する使いやすいインターフェイスを提供し、OCR機能をプロジェクトに簡単に統合できます。
IronOCRで対応している画像フォーマットは何ですか?
IronOCRはJPEG、PNG、BMP、GIF、TIFFを含む幅広い画像フォーマットをサポートしています。この柔軟性により、様々なタイプの画像ファイルを効率的にテキスト抽出することができます。
IronOCRは複数ページのTIFFファイルを扱えますか?
はい、IronOCRは複数ページのTIFFファイルを扱うことができます。複数ページのTIFFを処理し、各ページからテキストを抽出する機能があり、複雑なドキュメントを扱うのに理想的なソリューションです。
IronOCRを使って画像の特定の領域からテキストを抽出することは可能ですか?
はい、IronOCRはテキストを抽出する画像の特定の領域を指定することができます。この機能は、フォームや表のようなドキュメントの特定のセクションに焦点を当てる必要がある場合に便利です。
IronOCRはテキスト抽出のために異なる言語をサポートしていますか?
IronOCRは多言語でのテキスト抽出をサポートしており、様々な言語のドキュメントをシームレスに扱うことができます。この機能はアプリケーションの汎用性を高め、世界中の利用者に対応します。
他のOCRライブラリよりIronOCRを使う利点は何ですか?
IronOCRは、使いやすさ、信頼性の高いテキスト認識、多言語のサポート、様々な画像フォーマットとの互換性など、いくつかの利点を提供します。その強力な機能と性能は、C#プロジェクトにOCRを実装しようとしている開発者に好まれる選択肢となっている。
IronOCRはどのようにテキスト認識の精度を向上させるのですか?
IronOCRは高度なアルゴリズムと機械学習技術により、テキスト認識の精度を向上させます。様々なフォント、サイズ、レイアウトの難しい文書にも対応し、高精度のテキスト抽出を実現します。
IronOCRを既存の.NETアプリケーションに統合することは可能ですか?
IronOCRは既存の.NETアプリケーションに簡単に統合できます。そのわかりやすいAPIにより、開発者は最小限の労力でアプリケーションにOCR機能を追加することができ、大規模な修正を加えることなく機能を強化することができます。
C#アプリケーションにおけるIronOCRの一般的な使用例にはどのようなものがありますか?
IronOCRは、文書管理システム、データ入力の自動化、アーカイブ、請求書や領収書からのテキスト抽出、視覚障害者のためのアクセシビリティツールなど、様々なC#アプリケーションで使用することができます。その汎用性により、幅広い業界やアプリケーションに適しています。






