ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
現代のデジタル時代において、光学文字認識 (Optical Character Recognition, OCR) (OCR (光学式文字認識)) 技術は様々な業界に不可欠なものとなり、画像およびスキャンされた文書を編集可能で検索可能なテキストに変換することを可能にしています。
多くのOCRソフトウェアの中で、Google Cloud Visionのような (クラウドビジョンAPI)Adobe Acrobat Pro DC、ABBYY Finereader など多数、Windows OCRエンジン対Tesseract、および IronOCR 目立つ存在として際立っており、それぞれが文書分析を支援するための独自の機能と能力を提供しています。
この記事は、これらの3つのOCRエンジンについて、正確性、パフォーマンス、および統合のしやすさを評価し、包括的な比較分析を提供することを目的としています。
OCRエンジンは、画像、PDF、およびその他のスキャンされたドキュメントからプレーンテキストを認識して抽出するために設計されたソフトウェアツールです。 彼らは高度なアルゴリズムと機械学習技術を使用して文字を正確に識別し、機械で読み取り可能なテキストファイルに変換します。Windows OCR Engine、Tesseract、そしてIronOCRは、それぞれに強みと用途がある広く使用されている3つのOCRソリューションを表します。
について Windows OCRエンジンWindowsオペレーティングシステムに統合され、入力画像やスキャンされたドキュメントからテキストを抽出するための便利で使いやすいソリューションを提供します。 高度な画像処理技術を活用することで、さまざまな言語やフォントスタイルのテキストを正確に認識することができます。 Windows OCR エンジンは、Windows Runtime API を通じてアクセス可能であり、コマンドラインツールの機能を持つ Windows アプリケーションへのシームレスな統合を実現します。
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string [] args)
{
// Provide the path to the image file
string imagePath = "sample.png";
try
{
// Instantiate the program class
Program program = new Program();
// Call the ExtractText method to extract text from the image
string extractedText = await program.ExtractText(imagePath);
// Display the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(extractedText);
}
catch (Exception ex)
{
Console.WriteLine("An error occurred: " + ex.Message);
}
}
public async Task<string> ExtractText(string image)
{
// Initialize StringBuilder to store extracted text
StringBuilder text = new StringBuilder();
try
{
// Open the image file stream
using (var fileStream = System.IO.File.OpenRead(image))
{
Console.WriteLine("Extracted Text:");
// Create a BitmapDecoder from the image file stream
var bmpDecoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(fileStream.AsRandomAccessStream());
// Get the software bitmap from the decoder
var softwareBmp = await bmpDecoder.GetSoftwareBitmapAsync();
// Create an OCR engine from user profile languages
var ocrEngine = Windows.Media.Ocr.OcrEngine.TryCreateFromUserProfileLanguages();
// Recognize text from the software bitmap
var ocrResult = await ocrEngine.RecognizeAsync(softwareBmp);
// Append each line of recognized text to the StringBuilder
foreach (var line in ocrResult.Lines)
{
text.AppendLine(line.Text);
}
}
}
catch (Exception ex)
{
throw ex; // Propagate the exception
}
// Return the extracted text
return text.ToString();
}
}
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string [] args)
{
// Provide the path to the image file
string imagePath = "sample.png";
try
{
// Instantiate the program class
Program program = new Program();
// Call the ExtractText method to extract text from the image
string extractedText = await program.ExtractText(imagePath);
// Display the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(extractedText);
}
catch (Exception ex)
{
Console.WriteLine("An error occurred: " + ex.Message);
}
}
public async Task<string> ExtractText(string image)
{
// Initialize StringBuilder to store extracted text
StringBuilder text = new StringBuilder();
try
{
// Open the image file stream
using (var fileStream = System.IO.File.OpenRead(image))
{
Console.WriteLine("Extracted Text:");
// Create a BitmapDecoder from the image file stream
var bmpDecoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(fileStream.AsRandomAccessStream());
// Get the software bitmap from the decoder
var softwareBmp = await bmpDecoder.GetSoftwareBitmapAsync();
// Create an OCR engine from user profile languages
var ocrEngine = Windows.Media.Ocr.OcrEngine.TryCreateFromUserProfileLanguages();
// Recognize text from the software bitmap
var ocrResult = await ocrEngine.RecognizeAsync(softwareBmp);
// Append each line of recognized text to the StringBuilder
foreach (var line in ocrResult.Lines)
{
text.AppendLine(line.Text);
}
}
}
catch (Exception ex)
{
throw ex; // Propagate the exception
}
// Return the extracted text
return text.ToString();
}
}
Imports System
Imports System.IO
Imports System.Text
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
' Provide the path to the image file
Dim imagePath As String = "sample.png"
Try
' Instantiate the program class
Dim program As New Program()
' Call the ExtractText method to extract text from the image
Dim extractedText As String = Await program.ExtractText(imagePath)
' Display the extracted text
Console.WriteLine("Extracted Text:")
Console.WriteLine(extractedText)
Catch ex As Exception
Console.WriteLine("An error occurred: " & ex.Message)
End Try
End Function
Public Async Function ExtractText(ByVal image As String) As Task(Of String)
' Initialize StringBuilder to store extracted text
Dim text As New StringBuilder()
Try
' Open the image file stream
Using fileStream = System.IO.File.OpenRead(image)
Console.WriteLine("Extracted Text:")
' Create a BitmapDecoder from the image file stream
Dim bmpDecoder = Await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(fileStream.AsRandomAccessStream())
' Get the software bitmap from the decoder
Dim softwareBmp = Await bmpDecoder.GetSoftwareBitmapAsync()
' Create an OCR engine from user profile languages
Dim ocrEngine = Windows.Media.Ocr.OcrEngine.TryCreateFromUserProfileLanguages()
' Recognize text from the software bitmap
Dim ocrResult = Await ocrEngine.RecognizeAsync(softwareBmp)
' Append each line of recognized text to the StringBuilder
For Each line In ocrResult.Lines
text.AppendLine(line.Text)
Next line
End Using
Catch ex As Exception
Throw ex ' Propagate the exception
End Try
' Return the extracted text
Return text.ToString()
End Function
End Class
テッセラクトGoogleによって開発されたオープンソースのOCRエンジンである、はその精度と多用途性により広く普及しています。 100以上の言語をサポートし、TIFF、JPEG、PNGを含む様々な画像フォーマットを処理できます。 Tesseract OCRエンジンは、ディープラーニングアルゴリズムとニューラルネットワークを活用して高いテキスト認識精度を実現し、幅広い用途に適しています。
using Patagames.Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\buttw\source\repos\ironqr\ironqr\bin\Debug\net5.0\Iron.png");
Console.WriteLine(plainText);
}
using Patagames.Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\buttw\source\repos\ironqr\ironqr\bin\Debug\net5.0\Iron.png");
Console.WriteLine(plainText);
}
Imports Patagames.Ocr
Using api = OcrApi.Create()
api.Init(Patagames.Ocr.Enums.Languages.English)
Dim plainText As String = api.GetTextFromImage("C:\Users\buttw\source\repos\ironqr\ironqr\bin\Debug\net5.0\Iron.png")
Console.WriteLine(plainText)
End Using
IronOCRは、開発者が.NETアプリケーションでOCR(光学文字認識)機能を組み込むための強力で使いやすいライブラリです。このツールは、画像やPDFドキュメントからテキスト情報を抽出する際の精度とスピードを高めるために設計されています。IronOCRはさまざまな言語とフォーマットをサポートし、カスタマイズ可能なオプションを提供します。
主な特徴:
IronOCR for .NETは、企業の様々なニーズに応えるために開発されており、デプロイも簡単です。このツールを活用することで、あなたのアプリケーションに高性能なOCR機能を迅速に組み込むことができます。
IronOCRIron Softwareによって開発された強力なOCRエンジンは、その卓越した精度、使いやすさ、多言語サポートで際立っています。 それはオンプレミスのOCR機能を提供し、127以上の言語をサポートするため、グローバルなアプリケーションに適しています。 IronOCRは、難しいシナリオにおいても正確な文字認識結果を提供するために、高度な機械学習アルゴリズムとクラウドビジョン技術を活用しています。
コード例に進む前に、NuGet パッケージ マネージャーを使用して IronOCR をインストールする方法を見てみましょう。
Visual Studioで、ツールメニューに移動し、NuGetパッケージマネージャーを選択します。
新しいウィンドウが表示されたら、「参照」タブに移動し、検索バーに「IronOCR」と入力してください。
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
var result = ocr.Read("C:\\Users\\buttw\\source\\repos\\ironqr\\ironqr\\bin\\Debug\\net5.0\\Iron.png");
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
var result = ocr.Read("C:\\Users\\buttw\\source\\repos\\ironqr\\ironqr\\bin\\Debug\\net5.0\\Iron.png");
Console.WriteLine(result.Text);
Imports IronOcr
Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.English
Dim result = ocr.Read("C:\Users\buttw\source\repos\ironqr\ironqr\bin\Debug\net5.0\Iron.png")
Console.WriteLine(result.Text)
IronOCR: 127以上の言語をサポートしており、グローバルなアプリケーションに適しています。
6. 結論
結論として、Windows OCR EngineやTesseractはテキスト認識のための人気のある選択肢ですが、 IronOCR 最高の精度と柔軟性を誇るOCRエンジンとして登場します。業界をリードする精度、広範な言語サポート、および簡単な統合により、IronOCRは信頼できるOCR機能を求める企業や開発者にとって優れたソリューションとなります。 IronOCRを活用することで、組織は文書処理ワークフローの効率化、データ抽出精度の向上、およびスキャンされた文書や画像から貴重な洞察を引き出すことができます。
IronOCRはを提供します 無料体験. IronOCRとその機能についての詳細は、次のURLをご覧ください。 [以下の内容を日本語に翻訳します:
ここに
ご希望のイディオムや技術用語が追加されることによって、より適切な翻訳が提供できる場合もありますので、詳細なコンテキストを教えていただけると幸いです。](/csharp/ocr/docs/).
9つの .NET API製品 オフィス文書用