C#で写真を読む方法 with IronOCR

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

IronOCRのReadPhotoメソッドは、TIFFやGIFなどの複雑な画像形式からテキストを抽出し、テキスト領域と信頼度スコアを含む構造化された結果を提供します。これは、正確なOCR処理を必要とする高品質なスキャン文書向けに最適化されています。

大量のドキュメント、特にTIFFファイルのようなスキャン画像を扱う場合、手作業でテキストを抽出するのは時間がかかり、エラーが発生しやすくなります。 光学式文字認識(OCR)は、このプロセスを自動化し、テキストを画像からデジタルデータに変換します。 OCRテクノロジーは、スキャンした文書や写真のような複雑な画像を処理し、検索可能で編集可能なテキストに変換します。 これにより、文書処理がスピードアップし、正確なデータ抽出が可能になります。

TIFFやGIFのようなフォーマットでOCRを使用すると、サイズや色深度、圧縮の問題にもかかわらず、膨大な量のデータをすばやくデジタル化できます。 IronOCRのReadPhoto機能を使用することで、開発者は画像からテキストを抽出し、キーワード検索やスキャンしたデータを検索可能なPDFに変換するといった高度な操作を実行できます。 この技術は、効率的なデータ検索が重要な法的文書、アーカイブ、領収書を扱う業界に有益です。

このチュートリアルでは、ReadPhoto の使用方法と、results オブジェクトの操作について解説します。 IronOCRの標準的な Read の代わりに ReadPhoto をいつ使用すべきかについては、別途協議します。 一般的な画像処理については、さまざまな画像フォーマットを読むを参照してください。

この機能を使用するには、IronOcr.Extension.AdvancedScan パッケージをインストールしてください。

クイックスタート: 複雑な画像からテキストを抽出するためにReadPhotoを使用

すぐに始めましょう:画像フレームを読み込んだ OcrInput 上で IronOCR の ReadPhoto メソッドを使用し、すべてのテキストと領域を抽出してください。 TIFF、GIF、および類似の写真フォーマットに最適化されています。

  1. IronOCR をNuGetパッケージマネージャでインストール

    PM > Install-Package IronOcr
  2. このコード スニペットをコピーして実行します。

    var result = new IronTesseract().ReadPhoto(new OcrInput().LoadImageFrame("photo.tiff", 0));
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer

ReadPhoto を使用して TIFF 画像からテキストを抽出するにはどうすればよいですか?

TIFFやGIFのような高品質な写真フォーマットの読み込みはIronOCRを使えば簡単です。 まず、LoadImageFrameを使用して画像を読み込みます。 その後、ReadPhoto メソッドを使用して結果を取得します。 multi-page TIFF OCR tutorial では、さらに複数ページのドキュメント例を提供しています。

ご注意

  • TIFFには複数のフレームが含まれています; PageNumber パラメータは、0 ベースのインデックス指定で必須です。
  • 現在、英語、中国語、日本語、韓国語、ラテンアルファベットに対応しています。
  • .NET Frameworkで高度なスキャンを使用するには、x64アーキテクチャが必要です。

)}]

どのような入力形式を使用すればよいですか?

ブラウザはネイティブでTIFF形式をサポートしていないため、TIFF入力こちらをダウンロードしてください。 以下の表示バージョンはWEBPに変換されています。

入力

ReadPhoto メソッドを実装するにはどうすればよいですか?

この実装では、TIFF画像からテキストと領域情報を抽出することを示します。 その他の例については、フォトリーディングコード例をご覧ください。

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

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("ocr.tiff", 0);

// Read photo
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);

// Index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;

// Extract the text in the first region
string textinregion = result.TextRegions[0].TextInRegion;

//Extract the co_ordinates of the first text region
Rectangle region = result.TextRegions[0].Region;

var output = $"Text in First Region: {textinregion}\n"
             + $"Text Region:\n"
             + $"Starting X: {region.X}\n"
             + $"Starting Y: {region.Y}\n"
             + $"Region Width: {region.Width}\n"
             + $"Region Height: {region.Height}\n"
             + $"Result Confidence: {result.Confidence}\n\n"
             + $"Full Scnned Photo Text: {result.Text}";

Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("ocr.tiff", 0)

' Read photo
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)

' Index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).PageNumber

' Extract the text in the first region
Dim textinregion As String = result.TextRegions(0).TextInRegion

'Extract the co_ordinates of the first text region
Dim region As Rectangle = result.TextRegions(0).Region

Dim output = $"Text in First Region: {textinregion}" & vbLf & $"Text Region:" & vbLf & $"Starting X: {region.X}" & vbLf & $"Starting Y: {region.Y}" & vbLf & $"Region Width: {region.Width}" & vbLf & $"Region Height: {region.Height}" & vbLf & $"Result Confidence: {result.Confidence}" & vbLf & vbLf & $"Full Scnned Photo Text: {result.Text}"

Console.WriteLine(output)
$vbLabelText   $csharpLabel

OcrPhotoResult はどのような機能を提供しますか?

処理済み画像から電話番号、座標、信頼度スコアを含むOCRテキスト抽出結果を示すデバッグ出力

OcrPhotoResult クラスは、抽出されたテキストを分析するための主要なプロパティを提供します。 OCR結果の操作に関する詳細情報は、データ出力と結果の操作のガイドを参照してください。

Text: OCR入力から抽出されたテキスト。
Confidence: 統計的精度の信頼度(0~1のスケール、1が最高)。 結果の信頼性スコアについては、こちらをご覧ください。
TextRegions: 位置データを含むテキスト領域の一覧。 ターゲット抽出のための OCR 領域の定義に似ています。


Read の代わりに ReadPhoto を使用すべき場合はいつですか?

resultオブジェクトとサポートされているファイル形式です。 LoadImageFrame は、JPEG などの形式ではなく、TIFF および GIF のみを受け付けます。 Readはより単純な画像や一般的なテキスト抽出タスクに適しています。

なぜ ReadPhoto は TIFF と GIF フォーマットしかサポートしないのですか?

TIFFは、複数のページやフレームを1つのファイルに凝縮するためのロスレスフォーマットです。法律文書や医療画像など、高品質な複数画像の保存に使用されます。 JPEGよりも複雑なため、テキスト抽出には異なる方法が必要です。 専門的な処理により、プロ仕様の画像フォーマットで最適な結果を保証します。

TIFF画像は異なる圧縮方式を使用しているため、IronOCRはテキストを解読するために特殊なアルゴリズムを採用しています。 ReadPhoto の高度なアルゴリズムは TIFF 圧縮の特性を処理し、複雑な多層構造のドキュメントからも正確にデータを抽出します。

TIFF形式とJPEG形式の比較です:

特徴 TIFF(タグ付き画像ファイル形式) JPG/JPEG (共同写真専門家グループ)
圧縮 ロスレスまたは非圧縮(品質を保持) 非可逆圧縮(ファイルサイズを小さくすると品質が低下します)
ファイルサイズ 大きい(高品質とオプションの圧縮なしのため) より小さく、ウェブ使用と高速読み込みに最適化されています
画像の品質 高(プロフェッショナルな使用に最適、すべての詳細を保持) 低め(非可逆圧縮のため、画質が多少犠牲になります)
カラー深度 高い色深度をサポート(チャネルあたり最大16ビットまたは32ビット) 24ビットカラー(1670万色)
使用事例 プロフェッショナルな写真撮影、出版、スキャン、アーカイブ ウェブ画像、ソーシャルメディア、日常の写真
透明性 透明度とアルファチャンネルをサポート 透明性をサポートしていません
編集 複数回の編集に適しています(再保存しても品質が低下しません) 編集と保存を繰り返すと品質が低下します
互換性 プロフェッショナルソフトウェアで広くサポートされています すべてのプラットフォームとデバイスで普遍的にサポートされています
アニメーション アニメーションをサポートしていません アニメーションをサポートしていません
メタデータ 広範なメタデータ(EXIF、レイヤーなど)を保存します EXIFメタデータを保存しますが、制限があります

自分のアプリケーションには、Readのどちらを選べばよいですか?

アプリケーションのパフォーマンスを最適化するために、それぞれの生産ユースケースを考慮してください。 ReadPhotoは複雑なTIFF画像に適していますが、処理速度は遅くなります。 JPEGは処理が高速ですが、品質が低いため、OCRの信頼率が低くなる可能性があります。 必要に応じて、画質補正フィルターを使用して、結果を改善します。

confidence プロパティ(OcrPhotoResults または任意の IOcrResult インターフェースクラス内)は結果の精度を示し、開発者がテストや最適化を行うことを可能にします。 最高レベルの精度が求められる場合、高品質なTIFF画像を使用したReadPhotoが最良の結果をもたらします。特に、精度が重要なアーカイブや法的文書の処理において有効です。

画像が一定の品質基準を満たすようにすることで、効率と正確さのバランスを見つけます。 文書の種類が混在する場合は、ハイブリッドなアプローチを採用してください。高い正確性が求められる重要な文書には ReadPhoto を、スピードを優先する日常的なタスクには標準の Read を使用してください。

よくある質問

ReadPhotoメソッドはどの画像形式をサポートしていますか?

IronOCRのReadPhotoメソッドは、TIFFやGIFのような複雑な写真フォーマットに最適化されています。高品質のスキャン文書や写真からテキストを抽出するために特別に設計されており、テキスト領域と信頼度スコアで構造化された結果を提供します。

TIFF画像からテキストを抽出する方法を教えてください。

IronOCRを使ってTIFF画像からテキストを抽出するには、OcrInput変数を作成し、LoadImageFrameを使って画像をロードし、ReadPhotoメソッドを適用します。プロセスは簡単です: var result = new IronTesseract().ReadPhoto(new OcrInput().LoadImageFrame("photo.tiff", 0));

ReadPhoto機能を使用するには、どのような追加パッケージが必要ですか?

IronOCRでReadPhoto関数を使用するには、NuGetからIronOcr.Extension.AdvancedScanパッケージをインストールする必要があります。この拡張機能はReadPhotoメソッドに必要な高度なスキャン機能を提供します。

標準のReadメソッドではなく、ReadPhotoを使用するのはどのような場合ですか?

TIFFやGIFのような複雑な写真フォーマットを扱う場合、特に正確なOCR処理を必要とする高品質のスキャン文書には、IronOCRのReadPhotoメソッドを使用してください。標準のReadメソッドは一般的な画像処理に適しています。

ReadPhotoはどのような結果をもたらしますか?

IronOCRのReadPhotoメソッドは、抽出されたテキスト領域と信頼度スコアを含む構造化されたOCR結果を提供します。OcrPhotoResultプロパティを通してこれらにアクセスし、抽出されたデータを見たり操作したりすることができます。

ReadPhotoは複数ページの文書を処理できますか?

はい、IronOCRのReadPhotoメソッドは複数ページのドキュメント、特に複数のフレームを含むことが多いTIFFファイルを処理できます。LoadImageFrameメソッドでは、複数ページのドキュメントで処理するフレームを指定できます。

写真にOCR技術を使用すると、どのような業界でメリットがありますか?

IronOCRは、法的文書、アーカイブ、領収書、効率的なデータ検索が重要な大量のスキャン文書を扱うビジネスに役立ちます。ReadPhotoメソッドは、これらの複雑な画像フォーマットからのテキスト抽出を自動化します。

ドキュメント管理でIronOCRを使用する利点は何ですか?

IronOCRを使用することで、スキャンされた文書を検索可能かつ編集可能なテキストに変換し、手作業によるデータ入力を減らし、文書のアクセス性を向上させることでワークフローを効率化します。

IronOCRはデータ精度をどのように向上させますか?

IronOCRはその高度な認識アルゴリズムと画像補正機能により、信頼性が高く正確なテキスト抽出プロセスを保証します。

IronOCRの無料トライアルを利用できますか?

はい、Iron SoftwareはIronOCRの無料トライアルを提供しており、ユーザーが購入決定をする前にその機能と能力をテストできます。

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

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

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

準備はできましたか?
Nuget ダウンロード 5,896,332 | バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronOcr
サンプルを実行 あなたの画像が検索可能なテキストになるのをご覧ください。