.NET MAUI OCRを使用したIronOCR
イントロダクション
マイクロソフトが.NET MAUIを公開しました(マルチプラットフォームアプリUI)であり、.NET Framework を使用してクロスプラットフォームのアプリケーションを構築するためのフレームワークです。 コードベースを共通にして、Android、iOS、Windowsで動作するコードを書けるようになり、時間、リソース、労力を節約できます。 .NET MAUIはオープンソースです。 以下のリンクから、例を含む .NET MAUI プロジェクトのソースコードを入手できます。 GitHub(ギットハブ).
このハウツーガイドでは、IronOCRライブラリを使用した例を通じて、.NET MAUIでOCRプロセッサアプリを作成する方法を学びます。
.NET MauiでOCRを実行する方法
IronOCR: .NET OCRライブラリ
IronOCRは、開発者が簡単に光学文字認識(OCR)を統合できる .NET OCR NuGet ライブラリです。(OCR (光学式文字認識))自分のプロジェクトに機能を統合する。 IronOCRを使用すると、PDFドキュメントをスキャンして、データ品質を損なうことなく検索可能および編集可能なテキスト/データに変換できます。 これにより、ユーザーはPDFドキュメントから必要な情報を簡単に見つけたり、必要に応じて変更や修正を加えたりすることができます。
IronOCRは、あらゆるプラットフォームで利用可能なTesseractバイナリの中で最も高度なビルドです。 速度と精度が向上し、すべてのバージョンのTesseractをサポートするネイティブなDLL/APIを提供します。(Tesseract 3 から Tesseract 5 まで)簡単なインストール/ダウンロードで。
IronOCR の言語サポートは非常に充実しており、125 の国際的な言語が利用可能です。 ツール/DLLにはデフォルトで英語がインストールされています。 ただし、NuGetを介して言語をインストールするか、DLLをダウンロードすることで、簡単に言語を追加できます。
Tesseractとの比較
IronOCRは、特にC#開発者向けに設計されており、.NETアプリケーションとシームレスに統合されます。 対照的に、Tesseractは汎用のOCRライブラリであり、C#で使用するには開発者が独自のラッパーを書く必要があります。 さらに、IronOCRは革新的な人工知能アルゴリズムのおかげで、他のライブラリと比較して優れた精度と速度を提供します。
IronOCRは包括的なドキュメントと技術サポートが付属しており、初心者の開発者でも迅速に立ち上げることができます。
IronOCRはTesseractよりも遥かに高精度です。 実際、正確率は99%以上であり、Tesseractの正確率は70.2%から92.9%程度に過ぎません。 IronOCRとTesseractの比較に関する詳細情報とサポートは次をご覧ください YouTube (ユーチューブ) ビデオ
OCR MAUIアプリを作成する手順
次の手順に従って、IronOCRを使用して .NET MAUI フレームワークでOCRアプリを作成します。
前提条件
.NET MAUIでOCRアプリを作成するには、いくつかの前提条件があります。
Visual Studio 2022(最新バージョン)
-
.NET 6 または 7
-
Visual StudioにインストールされたMAUIパッケージ
- Visual Studioで実行されている.NET MAUIプロジェクト
IronOCRをインストールする
最初のステップは、NuGet パッケージ マネージャー コンソールを使用して IronOCR ライブラリをインストールすることです。 ソリューションエクスプローラーを右クリックしてNuGet パッケージ コンソールを開き、以下のコマンドを入力してIronOCRライブラリをインストールしてください。
Install-Package IronOcr
フロントエンドデザイン
このセクションでは、アプリケーションのフロントエンドを設計します。 MainPage.xaml ファイルを開きます。
OCRのために画像やPDFドキュメントを選択するためのボタンを指定します。 ボタンのclicked
プロパティはIOCR
関数を実行するように設定されています。 次のセクションでこの関数を定義します。
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
ここでは、OCRImage
という名前のImage
ボックスを作成します。 この画像ボックスは、選択したファイルを表示するのに役立ちます。
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
次に、Editor
コントロールを作成します。 それは画像またはPDFドキュメントから抽出されたテキストを表示するために使用されます。
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300"
/>
以下は完成したXAMLユーザーインターフェースのマークアップです。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IronOCR_MAUI_Test.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300"
/>
</VerticalStackLayout>
</ScrollView>
</ContentPage>
さて、OCR機能のコードを記述する時が来ました。
IronOCRを使用したOCRのコード
「MainPage.xaml.cs」クラスファイルを開き、以下の関数を記述します。
private async void IOCR(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
OCRImage.Source = path;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
}
private async void IOCR(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
OCRImage.Source = path;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
}
Private Async Sub IOCR(ByVal sender As Object, ByVal e As EventArgs)
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim path = images.FullPath.ToString()
OCRImage.Source = path
Dim ocr = New IronTesseract()
Using input = New OcrInput()
input.AddImage(path)
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
outputText.Text = text
End Using
End Sub
上記のコードを分解してみましょう。
以下のコードは、C# の FilePicker
オブジェクトを使用して画像を選択するのに役立ちます。 FilePicker
のタイトルとFilePicker
のファイルタイプは両方とも指定された値に設定され、画像のパスも指定されます。
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim path = images.FullPath.ToString()
以下の変数 path
に指定された画像を使用するように Image
ボックスコントロールを次に設定します。
OCRImage.Source = path;
OCRImage.Source = path;
OCRImage.Source = path
その後、IronTesseract
クラスの新しいインスタンスを作成して、IronOCR を使用し始めます。 選択した画像からテキストを抽出し、その内容をエディタコントロールに表示するために使用します。
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
Dim ocr = New IronTesseract()
Using input = New OcrInput()
input.AddImage(path)
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
outputText.Text = text
End Using
出力
プロジェクトを実行すると、以下のUIが表示されます。ボタンをクリックすると、任意の場所から画像/PDFを選択するよう促されます。
画像を選択すると、IronOCRは画像を処理し、認識された単語をエディターコントロールに表示します。 エディターコントロールからテキストをコピーすることができます。
結果によると、IronOCRはパターンを伴う複雑な画像を処理する際に素晴らしい仕事を行い、正確な結果を示しています。 IronOCRは、事前にトレーニングされたモデルを使用して文字の赤い点を検出し、必要な正確な文字を選択することができます。
次の内容にご注意ください。
結論
詳細については、こちらをご参照くださいチュートリアルIronOCRの使用方法に関する追加情報を提供します画像からテキストを読み取る.
IronOCRは開発目的で無料です。 非常に低価格で購入できます、価格はわずか $749 からです。 料金プランをご確認くださいこれ.