Aspose.OCR を使用して画像で手書きのテキストを認識する方法
手書きノート、フォームエントリ、サインは、ビジネス、医療、教育のあらゆる場所にあります. マニュアル・トランスクリプションは遅く、不一致であり、デジタル化のためのボトルネックです. Aspose.OCR for .NET は画像やスキャンから直接書かれたテキストの認識をサポートします - 自動入力、監査、およびワークフローの統合。
現実世界問題
紙のフォーム、レシピ、契約、ノートブックに関する重要な情報は、手書きとしてしか存在しません。このデータを手で入力することは、退屈で、エラーに直面し、スケールで高価です。
ソリューション概要
Aspose.OCR for .NET は、開発者が画像やフォームから手書きのコンテンツを抽出することを可能にする手作りの認識機能を提供します. デジタルアーカイブ、監査トラック、医療、およびクライアントのボードアップに最適です。
原則
- Visual Studio 2019 以降
- .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
- ASPOSE.OCR for .NET から NuGet
- 基本的なC#スキル
PM> Install-Package Aspose.OCR
ステップ・ステップ・実施
ステップ1:インストールおよび設定 Aspose.OCR
using Aspose.OCR;
ステップ2:手書き文書のスキャンまたは撮影
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("handwritten_note.jpg");
input.Add("signed_form.png");
ステップ3:手書きのための認識を設定する
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English; // Or match handwriting language
settings.DetectAreasMode = DetectAreasMode.HANDWRITING; // Important for handwritten text
ステップ4:手書きテキストの抽出
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
ステップ5:認定コンテンツの輸出または有効化
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("handwritten_output.txt", SaveFormat.Text);
}
ステップ6:エラー処理とマニュアルレビューを追加する
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
// Post-process or review results
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
ステップ7:手書きスタイルと品質の最適化
- 最高精度のための高解像度スキャンを使用する
- Preprocess (de-skew, enhance contrast) for weak or messy handwriting (デスケウ、強化コントロール)
- 典型的なユーザーからのサンプルマニュアルテスト
foreach (string file in Directory.GetFiles("./handwritten_samples", "*.jpg"))
{
input.Add(file);
}
ステップ8:完璧な例
using Aspose.OCR;
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("handwritten_note.jpg");
input.Add("signed_form.png");
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.HANDWRITING;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("handwritten_output.txt", SaveFormat.Text);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
ケースとアプリケーションの使用
医療・処方<
検査と検索のための手書きの医療記録と処方書をデジタル化します。
銀行と顧客オンボーディング
アカウント開設、遵守、または融資処理のための署名と満たされたフォームフィールドを抽出します。
教育と研究
手書きのノート、テスト、またはアーカイブやグラディングのための歴史文書をデジタル化します。
共通の課題と解決策
第1課題:不規則な手書き
ソリューション: 手書きのための最良の実践を奨励し、明確さのために事前に画像を処理します。
チャレンジ2:低解像度または騒音スキャン
ソリューション: 300 DPI+ でスキャンし、処理前に画像を解除します。
チャレンジ3:混合印刷・手書きコンテンツ
ソリューション: DetectAreasMode.AUTO を使用するか、両方のモードをテストして抽出を最適化します。
パフォーマンス考慮
- 良い品質、清潔なスキャンを使用する
- スケールのためのバッチプロセス
- 可能な限り人間検査で有効にする。
ベストプラクティス
- 手動スポットチェックで出力を確認する
- 典型的なドキュメントタイプのためのTune DetectAreasMode
- セキュアな敏感な手書きデータ
- 最良の結果を得るために Aspose.OCR を定期的に更新する
高度なシナリオ
シナリオ1:構造化データへの輸出
foreach (RecognitionResult result in results)
{
result.Save("handwritten_output.json", SaveFormat.Json);
}
シナリオ2:バッチプロセス混合フォーマットフォーム
RecognitionSettings settings = new RecognitionSettings();
settings.DetectAreasMode = DetectAreasMode.AUTO; // For forms with both types
結論
Aspose.OCR for .NET は、手書きのテキスト、署名、ノートの強力な抽出を可能にし、自信を持ってデジタル化、監査、自動化するのに役立ちます。
最新の手書き認識機能については、こちらをご覧ください。 ASPOSE.OCR for .NET API リファレンス .