ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
光学文字認識 (OCR (光学式文字認識))は、スキャンした画像、PDF、およびその他のデジタル文書を機械可読のテキストに変換するための重要な技術です。 これはドキュメント処理、自動化ワークフロー、および人間が読めるテキストを解釈する必要があるAI駆動のシステムで広く使用されています。 OCRサービスに関しては、OCRタスクを管理するためのOCRツールが多数存在します。 これには、Amazon Web Servicesのようなクラウドプロバイダーが含まれます。(AWS)、Microsoft Azure、およびGoogle Cloudプラットフォーム上のGoogle Cloud Vision APIは、強力なクラウドソリューションを提供し、IronOCRなどのサードパーティライブラリは、特定の使用ケースや頻繁にOCRを使用するための強力なOCRライブラリを必要とする場合に適した代替ソリューションを提案します。
この記事では、比較しますAWS OCR (AWS Textract), Azure OCR(アジュールOCR) (Azure Cognitive Services)、およびIronOCR機能、パフォーマンス、価格、開発者の使いやすさに焦点を当て、どのツールがプロジェクトのニーズに最も適しているかを判断するのに役立ちます。
壊れた画像 Pixabayから追加、ファイルから選択、またはここに画像をドラッグアンドドロップしてください。
AWS Textractは、スキャンされた文書、フォーム、テーブルなどからテキストを抽出するために設計されたAmazonの完全管理されたOCRサービスです。 AWSエコシステムに深く統合されたTextractは、大規模なクラウドソリューションでの使用に最適化されており、リアルタイムとバッチのドキュメント処理の両方をサポートしています。
AWS Textractは、大規模なバッチ処理において特に優れたパフォーマンスを発揮します。 大規模なデータセットを効率的に処理できますが、リアルタイム処理ではドキュメント量に応じて若干の遅延が発生する場合があります。
Textractは、開発者がAWS環境で作業する際に、一貫した体験を提供するため、S3、Lambda、Rekognitionなどの他のAWSサービスとシームレスに統合されます。 以下は、AWS SDKでTextractを使用する基本的なC#の例です。
var textractClient = new AmazonTextractClient(RegionEndpoint.USEast1);
var request = new DetectDocumentTextRequest
{
Document = new Document
{
S3Object = new S3Object
{
Bucket = "your-bucket-name",
Name = "your-document-name"
}
}
};
var response = await textractClient.DetectDocumentTextAsync(request);
foreach (var block in response.Blocks)
{
Console.WriteLine($"Detected text: {block.Text}");
}
var textractClient = new AmazonTextractClient(RegionEndpoint.USEast1);
var request = new DetectDocumentTextRequest
{
Document = new Document
{
S3Object = new S3Object
{
Bucket = "your-bucket-name",
Name = "your-document-name"
}
}
};
var response = await textractClient.DetectDocumentTextAsync(request);
foreach (var block in response.Blocks)
{
Console.WriteLine($"Detected text: {block.Text}");
}
Dim textractClient = New AmazonTextractClient(RegionEndpoint.USEast1)
Dim request = New DetectDocumentTextRequest With {
.Document = New Document With {
.S3Object = New S3Object With {
.Bucket = "your-bucket-name",
.Name = "your-document-name"
}
}
}
Dim response = Await textractClient.DetectDocumentTextAsync(request)
For Each block In response.Blocks
Console.WriteLine($"Detected text: {block.Text}")
Next block
AWS Textractは従量課金制に従います。価格モデル、処理されたページ数に基づいて請求されます。 大規模なプロジェクトでは価格がすぐに積み上がることがありますが、オンデマンド利用には費用対効果があります。
Azure Cognitive Services「OCRソリューションは、画像やPDFからテキストを抽出するように設計されており、Azureベースのアプリケーションに簡単に統合できます。」 クラウドおよびハイブリッド環境でのドキュメントワークフローに適しており、大規模な導入に対応するように調整できます。
Azure OCRは、迅速なテキスト抽出をサポートする効率的なアーキテクチャでリアルタイム処理に優れています。 バッチ処理機能も強力で、Azureのスケーラブルなクラウドインフラストラクチャにより、ピーク負荷時でもスムーズな運用が保証されています。
Azure OCRは、Azure Blob StorageやAzure Functionsといった他のAzureサービスと緊密に統合されており、エンドツーエンドのワークフローを簡単に構築できます。 サービスはREST APIを通じてアクセス可能であり、以下はC#での例です。
var client = new ComputerVisionClient(new ApiKeyServiceClientCredentials("your-api-key"))
{
Endpoint = "https://your-endpoint.cognitiveservices.azure.com/"
};
var ocrResult = await client.RecognizePrintedTextInStreamAsync(true, imageStream);
foreach (var region in ocrResult.Regions)
{
foreach (var line in region.Lines)
{
foreach (var word in line.Words)
{
Console.WriteLine(word.Text);
}
}
}
var client = new ComputerVisionClient(new ApiKeyServiceClientCredentials("your-api-key"))
{
Endpoint = "https://your-endpoint.cognitiveservices.azure.com/"
};
var ocrResult = await client.RecognizePrintedTextInStreamAsync(true, imageStream);
foreach (var region in ocrResult.Regions)
{
foreach (var line in region.Lines)
{
foreach (var word in line.Words)
{
Console.WriteLine(word.Text);
}
}
}
Dim client = New ComputerVisionClient(New ApiKeyServiceClientCredentials("your-api-key")) With {.Endpoint = "https://your-endpoint.cognitiveservices.azure.com/"}
Dim ocrResult = Await client.RecognizePrintedTextInStreamAsync(True, imageStream)
For Each region In ocrResult.Regions
For Each line In region.Lines
For Each word In line.Words
Console.WriteLine(word.Text)
Next word
Next line
Next region
Azure OCRは、層別のサービスを提供します。価格設定、取引数に基づいて。 既にAzureインフラストラクチャを活用している企業にとって、一般的にはコスト効果が高いと考えられていますが、大規模なデータセットの場合、価格が大幅に上昇する可能性があります。
IronOCRは、開発者がC#およびVB.Netアプリケーションから画像やPDFドキュメントを読み取り、テキストを抽出することを可能にします。IronOCRは、製品の高いパフォーマンスと正確性で知られており、Microsoft OCRとTesseract OCRの技術を組み合わせています。これにより、複雑なレイアウトや出版物、手書きのテキストに対しても高い認識率を誇ります。
IronOCRを活用することで、あなたのアプリケーションは自動化されたデータ抽出機能を備え、業務効率を大幅に向上させることができます。
IronOCRは、.NET開発者向けに設計された強力なサードパーティOCRツールライブラリです。 それにより、オンプレミス実装とクラウドベースの実装の両方が可能となり、OCRツールに対して厳密な制御が必要な開発者にとっては、AWSやAzureよりも柔軟性が提供されます。
IronOCRは、専用ハードウェアで実行する際に、特に高速なテキスト抽出のために最適化されています。 データをローカルやハイブリッドクラウドシナリオで処理する必要がある開発者にとって、IronOCRは優れた選択肢であり、リソースが制約された環境でも高いパフォーマンスを提供します。
IronOCRは、C#で非常に多用途で使いやすいです。 簡単な例を挙げよう:
using IronOcr;
// Creating a new instance of IronTesseract
var ocr = new IronTesseract();
// Creating a new IronOCR image input from the specified image filepath
using var input = new OcrImageInput("test.png");
// Setting the OCR language
ocr.Language = OcrLanguage.English;
// Reads the text from the provided OcrImageInput object and returns an OcrResult object containing the extracted text
OcrResult result = ocr.Read(input);
// Writing all of the text to a new text file and saving it
File.WriteAllText("result.txt", result.Text);
using IronOcr;
// Creating a new instance of IronTesseract
var ocr = new IronTesseract();
// Creating a new IronOCR image input from the specified image filepath
using var input = new OcrImageInput("test.png");
// Setting the OCR language
ocr.Language = OcrLanguage.English;
// Reads the text from the provided OcrImageInput object and returns an OcrResult object containing the extracted text
OcrResult result = ocr.Read(input);
// Writing all of the text to a new text file and saving it
File.WriteAllText("result.txt", result.Text);
Imports IronOcr
' Creating a new instance of IronTesseract
Private ocr = New IronTesseract()
' Creating a new IronOCR image input from the specified image filepath
Private input = New OcrImageInput("test.png")
' Setting the OCR language
ocr.Language = OcrLanguage.English
' Reads the text from the provided OcrImageInput object and returns an OcrResult object containing the extracted text
Dim result As OcrResult = ocr.Read(input)
' Writing all of the text to a new text file and saving it
File.WriteAllText("result.txt", result.Text)
IronOCRのライセンシングモデルは、AWSやAzureよりも柔軟です。 永久ライセンスの一回限りの料金を支払うことで、小規模から中規模のプロジェクトに対してよりコスト効果が高い場合があります。 ボーナスとして、IronOCRは提供します無料試用$749から利用可能で、エンタープライズ向けのカスタムオプションもあります。
比較表は、AWS Textract、Azure OCR、IronOCRの重要な違いを強調しており、精度、対応形式、特別機能、性能、統合、価格設定などの主要な要素に焦点を当てています。
AWS Textractは、フォームやテーブルのような構造化されたドキュメントの処理に優れており、スキャンされたドキュメントから詳細なデータを抽出する必要がある企業にとって強力な選択肢です。 一方、Azure OCRは卓越した多言語サポートによって際立っており、多様な言語からのテキスト抽出を必要とするグローバルなアプリケーションに最適です。
IronOCR差別化要因はそのオンプレミスおよびローカル処理能力であり、手書き文字認識やパスポートなどの特殊な文書処理といった高度な機能を提供します。バーコード、クラウドベースのソリューションでは常に利用できるとは限りません。 さらに、これの価格モデルは、一度限りのライセンス料に基づいており、継続的なクラウドの課金によるオーバーヘッドなしでローカルOCR処理を必要とする小規模なプロジェクトやチームにとって長期的なコスト削減を提供します。 それぞれのソリューションには強みがあり、適切なものを選択するにはプロジェクトの規模、必要な機能、展開環境に依存します。
この記事全体を通して、いくつかの人気があり、強力なOCRツールについて見てきました。 AWS TextractとAzure OCRの両方は、特にそれぞれのクラウドエコシステムに既に投資している企業にとって、強力でスケーラブルなOCR機能を提供します。 AWSは構造化文書の処理に優れており、Azureの多言語サポートは大きな強みとなっています。
しかし、IronOCR柔軟なオンプレミスソリューションを必要とする開発者や、永久ライセンスモデルを好む方にとって際立ちます。 今日見たような純粋なクラウドベースのOCRツールや、GoogleのOCRツールのような他のツールは、使用頻度が少ないまたは基本的なOCR利用を求める人々には人気がありますが、IronPDFは、より頻繁にOCRを使用する必要がある人々に対して、OCR関連のほぼすべてのタスクを処理できる強力なツールを提供することを目指しています。 その高いOCR精度、.NETプロジェクトへの統合の容易さ、手書き文字認識のような高度な機能から、あらゆる面で強力なOCRツールを求める.NET開発者にとって有力な選択肢となっています。
最終的に、AWS、Azure、IronOCRの選択はプロジェクトの規模、予算、および特定のOCRニーズに依存します。
10 の .NET API 製品 オフィス文書用