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

IronOCR を使って C# で画像を読み取る方法

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

OCR(光学式文字認識)は、画像からテキストを認識して抽出するために使用されるテクノロジーです。 このテクノロジは、スキャンしたページ、写真、またはその他の画像ファイルからテキスト コンテンツを抽出して操作できるため、印刷されたドキュメントをデジタル化する場合、特に役立ちます。

IronOCRは、jpg、png、gif、tiff、bmpなど、様々な画像形式をサポートしています。また、読み取り機能を強化するための画像フィルターも利用できます。

クイックスタート: IronOCRで画像ファイルを読み取る

たった 1 行で IronOCR を使用して画像からテキストを抽出します。 この例では、いくつかの簡単な手順で画像を読み込み、 IronTesseractReadメソッドを使用してテキストを読み取り、OCR を高速にセットアップする方法を示します。

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

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

    PM > Install-Package IronOcr

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

    var result = new IronTesseract().Read(new OcrImageInput("Potter.png"));
  3. 実際の環境でテストするためにデプロイする

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


画像読み取り例

まず、IronTesseract クラスをインスタンス化して OCR を有効にします。 'using' ステートメントを使用して、画像ファイルのパスを指定して OcrImageInput オブジェクトを作成します。 これにより、不要になったリソースを適切に廃棄できるようになります。 IronOCRは、jpg、png、gif、tiff、bmpなど、様々な形式の入力画像をサポートしています。最後に、 Readメソッドを使用してOCRを実行します。

ブラケットオープン バージョン 2025.6 以降:

  • TIFF 画像の読み込みのパフォーマンスが一貫して向上しました。
  • TIFF 画像の読み取りでは、マシンの GPU に応じてパフォーマンスが向上します。 ユーザーによっては最大2倍の速度を体験できる一方、以前のバージョンと同等のパフォーマンスを体験できるユーザーもいます。 ブラケットを閉じる
:path=/static-assets/ocr/content-code-examples/how-to/input-images-read.cs
using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("Potter.png");

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

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("Potter.png")

' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel
PNG画像を読む

TIFF および GIF 画像の読み取り方法の詳細については、"マルチフレーム/ページ GIF および TIFF の読み取り方法"の記事をご覧ください。

画像をバイトとしてインポート

単純なファイルパスの他に、OcrImageInput クラスは、バイト、AnyBitmap、Stream、Image の形式で画像情報も受け入れます。 AnyBitmap は、 IronSoftware.Drawing.AnyBitmapのビットマップ オブジェクトです。

:path=/static-assets/ocr/content-code-examples/how-to/input-images-import-byte.cs
using IronOcr;
using System.IO;

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

// Read byte from file
byte[] data = File.ReadAllBytes("Potter.tiff");

// Import image byte
using var imageInput = new OcrImageInput(data);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.IO

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read byte from file
Private data() As Byte = File.ReadAllBytes("Potter.tiff")

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

スキャン領域を指定

OcrImageInput クラスをインスタンス化するときにも CropRectangle が受け入れられます。 これにより、画像ドキュメントのどの領域を OCR するかを指定できます。 画像ドキュメントによっては、スキャンする領域を指定するとパフォーマンスが大幅に向上することがあります。 以下のコード例では、章番号とタイトルのみを読み取るように指定しています。

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

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

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

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", 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()

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

' Add image
Private imageInput = New OcrImageInput("Potter.tiff", 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を実行できますか?

IronOCRライブラリを使用して、.NET C#で画像にOCRを実行できます。NuGetからIronOCRをダウンロードし、IronTesseractクラスをインスタンス化し、OcrImageInputクラスを使用して画像を入力します。その後、Readメソッドを使用して画像からテキストを抽出します。

.NETでどの画像フォーマットをOCRで処理できますか?

IronOCRは、OCR処理にjpg、png、gif、tiff、bmpなど、さまざまな画像フォーマットをサポートしています。これにより、さまざまな種類の画像ファイルと柔軟に統合できます。

C#でOCRに画像の特定の領域を指定するにはどうすればよいですか?

IronOCRでは、OcrImageInputクラスをインスタンス化する際にCropRectangleを使用して、処理する画像の特定の領域を定義できます。これにより、特定の領域に焦点を当てることでOCR操作のパフォーマンスを向上させることができます。

C#でOCR用にバイト配列から画像を読み取ることは可能ですか?

はい、IronOCRでは画像をバイト配列、AnyBitmap、Stream、またはImageとして入力することができます。この柔軟性により、さまざまなフォーマットで利用可能な画像データに対してOCRを実行できます。

C#でのOCR操作中に効率的なメモリ管理を確保するにはどうすればよいですか?

IronOCRを使用したOCR操作中に効率的にメモリを管理するには、OcrImageInputオブジェクトを作成する際に'using'ステートメントを使用します。これにより、必要がなくなったリソースが適切に解放されます。

C#でマルチフレームまたはマルチページ画像をOCRで処理できますか?

はい、IronOCRはGIFやTIFFのようなマルチフレームやマルチページの画像を読み取ることができます。この機能により、複数のフレームやページを含む複雑な画像ファイルに対してOCRを実行できます。

画像フィルターを使用してOCRにおけるテキスト認識を向上させるにはどうすればよいですか?

IronOCRは、テキスト認識能力を向上させるための画像フィルターを提供しています。これらのフィルターを適用することにより、さまざまな画像フォーマットでのOCRプロセスの精度と信頼性を向上させることができます。

C#における画像読み取りでIronOCRを使用する利点は何ですか?

IronOCRは、C#での画像読み取りに関して、複数の画像フォーマットのサポート、スキャン領域の指定能力、画像をバイトやストリームとして入力する能力など、いくつかの利点を提供します。これらの機能により、.NETアプリケーションで効率的で柔軟な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 リリース