ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
光学文字認識は、画像内で読み取れるテキストを識別します。 光学文字認識(Optical Character Recognition:OCR)は、多くの方法で使用されています。 例えば、古い紙の書類をスキャンして検索可能な電子書類に変換することができます。 それはまた、写真やビデオを調査することで犯罪の証拠を特定するために法執行機関にとっても有用です。 マシンやコンピュータが任意の文書内の文字を認識できるようにするには、使用されているフォントと、それらの文字が書かれている書記体系を理解する必要があります。 多くの場合、この理解は、テキスト画像の大規模なデータセットで訓練および調整された画像認識アルゴリズムと呼ばれる人工知能ソフトウェアから得られます。
OCRはさまざまな用途がある重要な技術です。 それはしばしば、スキャンされた紙の書類を読み取り、コンピュータで編集や検索が可能なデジタルファイルに変換するために使用されます。 ただし、OCRは標識やラベルに印刷されたテキスト、手書きもしくはタイプされた小切手、フォーム、その他のビジネス記録、および音声録音からの医療記録の転写など、さまざまな種類の情報にも適用できます。
この記事では、2つの .NET OCR ライブラリを比較します。
IronOCRは最新かつ最先端のOCRです。(光学文字認識).NET C#およびVB用ライブラリ。 IronOCRは、すべての画像形式からバーコードやQRコードをスキャンでき、最新のTesseract 5エンジンを使用してテキストを読み取り、PDFスキャンを実行します。IronOCRは、デスクトップアプリケーション、コンソール、ウェブアプリケーションなど、すべての.NETプロジェクトテンプレートに少しのコードを追加するだけでOCR機能を追加でき、ライブラリを追加する必要はありません。 IronOCRは、.NETプロジェクトにおいて最も正確なOCRエンジンの一つです。
IronOCRのユニークな機能について話し合いましょう。
IronOCRは、PDFファイルに対して簡単にOCRを実行し、OCRを使用して検索可能なPDFドキュメントをエクスポートすることができます。
IronOCRは、アラビア語、中国語、英語、フィンランド語、フランス語、ドイツ語、日本語など、すべての主要言語に対応しています。 IronOCRは、出力をバーコードデータ、プレーンテキスト、または行、単語、段落、文字を含むOCR結果クラスなどのさまざまな形式で表示する機能を提供します。 IronOCRはTesseractライブラリ技術を使用しています。
IronOCRは、Mac、Windows、およびLinuxマシンと互換性があります。 また、クラウドソリューションのためにAzureおよびDockerをサポートしています。 IronOCRの最新アップデートには、サポートリストに.NET Core 3.1と.NET 6が含まれており、MacOS用のXamarinもサポートしています。
パタゲームスの製品であるTesseract.net SDKは、光学文字認識(OCR)技術です。(OCR (光学式文字認識)).NETプロジェクト用のライブラリであり、.NETアプリケーションにテキスト認識などのOCR機能を追加するためのメソッドを提供します。 Tesseract.NET SDKは、さまざまな画像フォーマットを読み取り、画像をテキストに変換することができるOCRエンジンです。 60言語まで対応しています。 また、PDFドキュメントの読み取りおよびスキャンと、検索可能なPDFファイルへの変換もサポートしています。 基本的に、Tesseract.NET SDKはTesseract OCRプロジェクトに基づいたクラスライブラリです。 それはOCRを実行するためのTesseractエンジンを備えています。 Patagames.Ocr.xml には API のXML ドキュメントが含まれています。
Tesseract.NET SDKは、32ビットおよび64ビットのオペレーティングシステムで.NET Framework 2.0から4.5をサポートします。 このSDKは、Windows XPおよびWindows 7、Vista、8、10、11などの他のWindowsバージョンで使用できます。32-bitおよび64-bitのOSと互換性があり、どのCPUでも簡単に使用できます。
残念ながら、.NET SDKはmacOSやLinuxでは利用できません。
私たちのプロジェクトで、IronOCRとTesseract.NET SDKをどのように使用するか見てみましょう。
このプロジェクトを作成するために、Visual Studio 2022 バージョンを使用しています。 最新バージョンのVisual Studioを使用することをお勧めします。 次に、Visual Studioを開き、「新しいプロジェクトの作成」をクリックします。 その後、テンプレートから「コンソール アプリケーション」をクリックして、プロジェクトを構成してください。
プロジェクトの名前を入力してください。 名前を「IronOCR vs Tesseract.NET SDK」に割り当てます。 その後、プロジェクトを作成したいパスを選択し、Enterキーを押してください。
その後、.NETバージョンを選択します。 私たちは最新バージョンの.NET、つまり.NET 6を使用しており、IronOCRはそれをサポートしています。 プロジェクトの要件に最も適したものを使用できます。
作成ボタンをクリックすると、プロジェクトテンプレートがプロジェクトを作成し、ライブラリのインストール準備が整いました。 ライブラリを直接インストールしましょう。
ライブラリをインストールして、機能を確認する時が来ました。 まず、IronOCRライブラリをインストールします。
IronOCRは、さまざまな方法でインストールをサポートしています。 どのアプローチも選ぶことができます。 すべてのメソッドは安全です。
Visual Studio の NuGet パッケージ マネージャー GUI を使用して IronOCR ライブラリをインストールできます。 それをアクセスするには、ツール > NuGet パッケージ マネージャー > ソリューションの NuGet パッケージの管理をクリックします。
「参照」タブに移動し、「IronOCR」を検索してください。 検索結果からIronOCRを選択し、プロジェクトにインストールします。
これで、プロジェクトに IronOCR ライブラリをインストールしました。 これは私たちの.NETプロジェクトで使用する準備ができています。
NuGet パッケージマネージャーコンソールを使用して IronOCR ライブラリをインストールできます。 コマンドラインに移動します。通常、コードファイルの下にあります。次に、コマンドラインに以下の行を書き込み、Enterキーを押します。 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
Install-Package IronOcr もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
IronOCRライブラリのインストールを開始します。 インストール後、プロジェクトで使用できる状態になります。
私たちはNuGetパッケージマネージャーを使用してTesseract.NET SDKをインストールすることができます。 Tesseract.NET SDKをインストールするには、ツール > NuGet パッケージマネージャー > ソリューションのNuGetパッケージの管理 に移動してください。 参照タブに移動し、Tesseract.NET SDKを検索してください。 検索結果からTesseract.NET SDKを選択し、それをインストールしてください。 インストール後、プログラムでTesseract.NET SDKを使用することができます。
インストール後、ソリューションエクスプローラーでこれらの3つのフォルダーが表示されます。
これらのフォルダーには、Tesseract が OCR を実行するために必要なデータが含まれています。 さて、プロジェクトにOCR機能を組み込む準備が整いました。
現在、IronOCRとTesseract.NET SDKの機能をテストする時が来ました。 両方のライブラリは画像に対してOCRを実行できます。 傾斜しノイズのあるテキスト付き画像を使用して、それらをテストします。
これはテストに使用する画像です。
まず、テスト画像に対して生成された Tesseract.NET SDK の出力を見てみましょう。 コードを見てみましょう:
using Patagames. Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Console.WriteLine(plainText);
}
using Patagames. Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
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\Administrator\Desktop\Input.jpg")
Console.WriteLine(plainText)
End Using
まず最初に、Patagamesをインポートします。 Tesseract.NET SDKを使用するためのOCRライブラリ。 その後、Create関数を使用してOcrApiを作成します。 次に、Init関数を使用してデフォルト言語を英語に設定します。 次に、GetTextFromImageメソッドを使用して画像からプレーンテキストを抽出します。この際、パラメーターとして画像ファイルのパスを指定します。 次に、抽出されたテキストをコンソールに出力します。
次に、Tesseract.NET SDKで生成された出力を確認してください。
したがって、これがTesseract.NET SDKから得られる出力です。 最初は、解像度に基づいたエラーが発生し、高解像度の画像のみでうまく動作することを示しています。 エラーの後、画像から抽出されたテキストを確認できます。 このテキストを画像と比較すると、完全に異なることが分かります。 抽出されたテキストには、意味をなさない多くの無関係なテキストが含まれています。 全体として、Tesseract.NET SDKはこのテストに失敗します。
次に、IronOCRの結果を見てみましょう。 結果に移る前に、まずIronOCRのコードを見てみましょう:
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Input.Deskew();
Input.DeNoise();
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Input.Deskew();
Input.DeNoise();
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Using Input = New OcrInput()
Input.AddImage("C:\Users\Administrator\Desktop\Input.jpg")
Input.Deskew()
Input.DeNoise()
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
上記のコードでは、IronOCRライブラリをプログラムにインポートし、IronTesseractオブジェクトを作成してプロセスを開始します。 その後、プロセス言語を英語に設定します。 実際の作業を開始します。 私たちは OcrInput オブジェクトを作成します。 AddImage関数を使用して、画像パスをInput変数に割り当てます。 画像を実際の位置に回転させるためにDeskew機能を使用し、その後、画像からノイズを除去するためにDenoise機能を使用します。 これにより、より良い結果が得られます。 その後、Read関数を使用してテキストを認識し、テスト画像から抽出します。 次に、コンソールに結果を表示します。 出力をプロジェクトファイルにPDFファイルとして保存することもできます。
こちらがIronOCRによって生成された出力です:
出力を比較すると、画像に表示されているテキストと同じであることがわかります。 IronOCRはエラーなく完璧にテキストを抽出します。 IronOCRは、歪んだり回転した画像からテキストを抽出できます。 それは低解像度の画像でも動作します。
IronOCR は複数フレームの画像の追加もサポートしています。 この操作を行うには、「AddMultiFrameTiff」メソッドを使用できます。 IronOCRは画像内の各フレームを読み取り、各フレームは個別のページとして扱われます。 このメソッドを使用する場合、Tiff画像のみがサポートされています。
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("images/multiframe.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("images/multiframe.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddMultiFrameTiff("images/multiframe.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
検索可能なPDFを作成するコードを見てみましょう:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage(@"images\page1.png")
Input.AddImage(@"images\page2.bmp")
Input.AddMultiFrameTiff(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage(@"images\page1.png")
Input.AddImage(@"images\page2.bmp")
Input.AddMultiFrameTiff(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("images\page1.png") Input.AddImage("images\page2.bmp") Input.AddMultiFrameTiff("images\page3.tiff") Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
SaveAsSearchablePdf関数は、ファイルを検索可能な形式で保存するのに役立ちます。
IronOCRは127の言語をサポートしています。 IronOCRは、20種類以上のQRコードおよびバーコードの読み取りをサポートしています。 IronOCRは、より良い結果を得るために画像をグレースケールに変換することができます。 IronOCRは、手動および自動で画像解像度を向上させることができます。 また、最良の結果を得るために、自動コントラスト機能もサポートしています。 IronOCR は、ドキュメントを検索可能なPDF、HTMLエクスポート、および任意のページの画像など、複数の言語および形式でエクスポートできます。 IronOCRは、次のような多くの入力フォーマットをサポートします:
IronOCR(IronOCR) は、高精度の光学文字認識 (Optical Character Recognition, OCR) ライブラリです。以下はその主な機能と利点です。
サポートされている開発プラットフォームには、.NET Framework、.NET Core、Xamarin などがあります。 IronOCR(IronOCR) は、開発者が迅速かつ効率的にOCR機能を統合するための強力なツールです。
さらに詳しい情報やデモ版のダウンロードは、公式ウェブサイト https://ironsoftware.com からご覧いただけます。
IronOCRは開発用に無料です。 開発用の無料試用版も提供しています。 IronOCRには、本番環境向けのさまざまな価格プランがあります。 ご自身のニーズに最適なプランを購入することができます。 個人、開発者チーム、および組織レベルの価格プランがあります。 価格は、1つの開発者と1つのプロジェクト向けのLiteプランで$749からです。 すべてのプランは一括払いです。 ユーザーは1年間無料でアップデートを受け取ることができます。 また、SaaSおよびOEMカバレッジもサポートしています。 プロフェッショナルプランは$999で利用可能であり、アンリミテッドプランは$2999で設定されています。アンリミテッドプランには無制限の開発者、プロジェクト、場所が含まれます。
こちらをクリックして料金プランについて詳しく知ることができます。 リンク. また、Iron Softwareは現在、5つのソフトウェアパッケージを2つの価格で購入できる特別オファーを実施しています。 次の5つのソフトウェアパッケージはすべて優れています:IronPDF、IronXL、IronOCR、IronBarcode、そしてIronWebscraper。
Tesseract.NET SDKには価格プランもあります。 Tesseract.NET SDKプランは、1人の開発者および1つのプロジェクトに対して$220から始まります。 この点で重要なことは、料金プランに更新プランが含まれていることです。 そのため、Tesseract.NET SDKがプロジェクト内で稼働するようにするには、年間または月間のいずれかで支払う必要があります。 Tesseract.NET SDKの価格プランについての詳細は、こちらをご覧ください リンク.
IronOCRは、現在のタスクに最適なライブラリです。 IronOCRは127の言語にも対応しているため、グローバルに受け入れられています。 複数の画像フォーマットおよびPDFに対する入力処理をサポートします。 それはまた、最良の結果を確保するために画像の前処理を行います。 IronOCRは、.NETライブラリとして非常に魅力的です。 特定の画像領域からテキストを認識することができます。 IronOCRは精度に焦点を当てており、この点において出力結果は本当に素晴らしいものです。 開発者はOCRを実行するために追加のファイルやライブラリを必要としません。 全体的に見て、それは完璧なライブラリです。
Tesseract.NET SDKはまた、.NETプロジェクトにとって優れたライブラリです。 それは60言語でのOCRサービスを提供します。 それはTesseract OCRプロジェクトに基づいています。 それは一連の機能を使用してスキャンされた画像を検索可能なPDFに変換できます。 Tesseract.NET SDKは入力処理のために幅広い画像フォーマットを受け入れます。 それは、.NETプロジェクトにおけるOCR機能をサポートするための高水準のサービスを提供します。
IronOCRとTesseract.NET SDKの両方に料金プランがあります。 しかし、IronOCRにはもう少し多様な価格プランがあり、また、Tesseract.NET SDKよりも安価です。 これは、IronOCRが一括支払いのみを受け付けるのに対し、Tesseract.NET SDKは月次または年次の更新があるためです。 したがって、長期的には、IronOCRよりも初期価格が低いとしても、Tesseract.NET SDKには必然的により多くの費用がかかります。
全体のシナリオを分析し、両方のライブラリの能力をテストした結果、ぼやけた回転文書や少しノイズが混じった傾いた文書のパフォーマンスにおいて、IronOCRはTesseract.NET SDKよりも優れたオプションであると言えます。 両方のライブラリのOCR機能は優れていますが、IronOCRはより高度なライブラリであり、画像の前処理、ノイズ除去、元の位置への画像の回転など、より優れた機能を備えています。 Tesseract.NET SDKは最大60言語をサポートし、IronOCRは最大127言語をサポートします。 Tesseract.NET SDKは、さまざまな言語のために追加のファイルが必要であり、プログラムに余分なボリュームを追加します。 また、Tesseract.NET SDKは最後に更新されたのがかなり前でした。
IronOCR 試用版を提供しており、実稼働テストが可能です。 また、現在、5つのIron Softwareパッケージを2つ分の価格で購入できる素晴らしい特別オファーを提供しています。 このオファーについての詳細情報は以下からご覧いただけます。 リンク.
9つの .NET API製品 オフィス文書用