C#でOCR処理に入力画像を使用する方法

C#でOCR用にストリームを読み取る方法

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

ストリーム データとは、読み取りまたは書き込みが可能なバイナリ情報の連続的なフローを指します。 プログラミングとデータ処理のコンテキストでは、ストリームは、メモリに完全に収まらないほど大きい可能性のあるデータを効率的に処理するために使用されます。 ストリームを使用すると、データを小さく管理しやすいチャンク単位で読み書きできます。

IronOCR のインポート メソッドは、インポートして読み取る画像のデータ ストリームも受け入れます。 これは、ストリーム データをインポート メソッドの 1 つに渡すだけで実行できます。 このメソッドは、イメージをインポートするために必要なすべての手順を処理します。

クイックスタート: ストリームを使用して数秒で OCR 入力を行う

この簡単な例では、System.IO.Stream を IronOCR に送り込むことで OCR をすぐに開始し、最小限のセットアップとコードでファイル パスをスキップして認識されたテキストに直接ジャンプする方法を示します。

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

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

    PM > Install-Package IronOcr

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

    using var input = new IronOcr.OcrInput(stream);
    var result = new IronOcr.IronTesseract().Read(input);
  3. 実際の環境でテストするためにデプロイする

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


ストリームの読み取り例

まず、OCR を実行するためにIronTesseractクラスをインスタンス化します。 AnyBitmapのFromFileメソッドを使用して画像ファイルをインポートします。このAnyBitmapオブジェクトは、画像データをストリームに変換できます。 次に、 usingステートメントを使用して、AnyBitmap オブジェクトのGetStreamメソッドでイメージ ストリームを渡し、OcrImageInput オブジェクトを作成します。 最後に、 Readメソッドを使用して OCR を実行します。

:path=/static-assets/ocr/content-code-examples/how-to/input-streams-read-streams.cs
using IronOcr;
using IronSoftware.Drawing;

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

// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Import image stream
using var imageInput = new OcrImageInput(anyBitmap.GetStream());
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

' Import image stream
Private imageInput = New OcrImageInput(anyBitmap.GetStream())
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel

スキャン領域を指定

大きな画像のパフォーマンスを向上させ、特定の領域から特定の読み取り値を取得するには、 CropRectangleクラスを利用できます。 OcrImageInputコンストラクターは、2 番目のパラメーターとしてCropRectangleオブジェクトを受け入れます。 これにより、画像ドキュメントのどの領域を読み取るかを指定できます。 以下のコード例では、章番号とタイトル領域のみを読み取るように指定しています。

:path=/static-assets/ocr/content-code-examples/how-to/input-streams-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

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

// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput(anyBitmap.GetStream(), ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

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

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)

' Add image
Private imageInput = New OcrImageInput(anyBitmap.GetStream(), ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

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

OCR結果

特定の地域を読む

よくある質問

.NET C# で OCR 処理のために画像ストリームをどうやって読みますか?

.NET C#では、IronOCRのインポートメソッドを利用してストリームデータをOcrImageInputコンストラクタに渡すことで画像ストリームを読み取ることができます。この方法は、OCR処理のための画像データを効率的に処理します。

IronOCR でストリームを使う利点は何ですか?

ストリームを使用することで、IronOCR は大きな画像ファイルを小さくて管理しやすいチャンクに分割することで効率的に処理します。このアプローチはメモリ使用量を最適化し、OCR プロセスを高速化します。

C# で OCR のために画像の一部を指定するにはどうすれば良いですか?

IronOCRを使用してOCRのために画像の特定の領域を指定するには、CropRectangleクラスを使用できます。これをOcrImageInputコンストラクタへのパラメータとして渡して、画像の特定の領域に焦点を当てます。

IronOCR はリアルタイムの画像ストリームOCRを処理できますか?

はい、IronOCR は受信される画像データストリームを継続的に処理することでリアルタイムの画像ストリームOCRを処理できます。この機能は即時の文字認識を必要とするアプリケーションに有益です。

大きな画像でのOCRパフォーマンスを改善するにはどうすればよいですか?

IronOCRを使用して大きな画像のOCRパフォーマンスを向上させるには、CropRectangleクラスを使用してスキャン領域を指定し、関連する領域の処理に制限をかけ、分析する必要のあるデータ量を減らします。

OcrImageInputコンストラクタはIronOCRでどのような役割を果たしますか?

IronOCRのOcrImageInputコンストラクタは、画像ストリームをインポートし、必要に応じてOCR処理のための特定の関心領域を定義するために使用されます。これにより、テキスト抽出のための画像準備プロセスが効率化されます。

IronOCRにおけるReadメソッドはどのように機能しますか?

IronOCRのReadメソッドは、提供された画像ストリームに対して光学文字認識プロセスを実行します。画像データからテキストを抽出し、認識された文字を返します。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
レビュー済み
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 リリース