Aspose.OCR を使用して低品質の画像で OCR の正確性を向上させる方法
多くのビジネス批判的な画像は低品質です - ブルーリースキャン、スマートフォン写真、スカイドレシピ、または騒音ファックス. これらの課題はOKRの正確さを減らします. .NET のための Aspose.OCR は、最良の可能なテキストをさらに困難な画像から抽出するための内蔵ツールとベストプラクティスを提供しています。
現実世界問題
スキャンが騒がしい、暗い、低対比性、または背景騒音がある場合、標準 OCR は単語を失ったり、文字を誤解したりすることができます。
ソリューション概要
Preprocessing (deskew, denoise, contrast adjustment) を適用し、Aspose.OCR 設定をタッチすることで、サブパール画像からさえ、テキスト抽出を劇的に改善することができます。
原則
- 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:画像の質を評価する
チェックする:
- Blurriness
- Skew / ローテーション
- 背景騒音
- 低コントロール
- 明るい光/影
ステップ3:画像の再処理および改善を適用する
ASPOSE.OCRには、デノイズ、ディスキー、バイナリ化、コントロール、およびその他のためのフィルターがあります。
RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true; // Improve contrast automatically
settings.Denoising = true; // Remove background noise
settings.Deskew = true; // Correct rotated images
settings.Binarization = true; // Convert to black/white for clarity
ステップ4:困難な画像の認識設定を実行する
より良い結果を得ることができるトゥニング:
Language
宿泊施設(最寄りの試合を選択)DetectAreasMode
(写真 vs. 写真)
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO; // If image is a photo
ステップ5:テキストの抽出と有効化
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("blurry_invoice.jpg");
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
}
ステップ6:異なる設定でイーテルとテスト
複数のプレプロセッサフィルターと設定の組み合わせを試し、最良の正確さのために出力を検討します。
ステップ7:大規模雇用のための自動プレプロセッサ
すべての画像を最適な設定でディレクトリで処理する:
foreach (string file in Directory.GetFiles("./problem_images", "*.png"))
{
input.Add(file);
}
ステップ8:完璧な例
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("blurry_invoice.jpg");
RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true;
settings.Denoising = true;
settings.Deskew = true;
settings.Binarization = true;
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
ケースとアプリケーションの使用
受信とファックスのデジタル化
折りたたみ、ファックス、または破損した収入および請求書からデータを抽出します。
低スキャンで支払い可能なアカウントの自動化
リワークを減らし、悪い情報源からもAP処理を加速させます。
アーカイブ 遺産論文
古い、破壊されたアーカイブや手書きのノートから使用可能なテキストを保存します。
共通の課題と解決策
チャレンジ1:画像が読まない
**ソリューション:**必要に応じて救済を求めるか、高度な改善ツールを使用する。
チャレンジ2:バッチ処理ボトレネック
ソリューション: 自動プレプロセッサとオフタイムの仕事のスケジュール。
チャレンジ3:非常に変数的な入力
ソリューション: ドキュメントタイプごとに最良の設定を保存し、定期的に確認します。
パフォーマンス考慮
- プレプロセッサはCPU時間を追加しますが、OCRの正確さを倍増することができます。
- あなたのハードウェアのためのテストバッチサイズ
- レース後のOCRオブジェクトの利用
ベストプラクティス
- 監査のためのオリジナル画像を保存する
- 統合前に生産を確認
- 重要な作業流のための品質管理チェックを使用する
- ASPOSE.OCR を定期的に更新
高度なシナリオ
シナリオ1:外部ツールによるプレプロセッサ(オプション)
ImageMagick や OpenCV のようなツールで画像を改善する OCR 前の極端なケース。
シナリオ2:ドキュメントタイプによるカスタムフィルタリング
最大限の正確さのために、ソースまたはワークフローごとに設定を保存および再利用します。
結論
適切な事前処理および設定により、Aspose.OCR for .NET は、低品質の画像から貴重なデータを保存し、自動化と遵守を促進することができます。
先進的なヒントや最新のフィルターは、チェックしてください。 ASPOSE.OCR for .NET API リファレンス .