ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
C# OCRライブラリ
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// OCR entire document
ocrInput.LoadPdf("example.pdf", Password: "password");
int[] pages = { 1, 2, 3, 4, 5 };
// Alternatively OCR selected page numbers
ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\imageWithBarcode.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
ocrInput.Deskew();
ocrInput.DeNoise();
ocrInput.Despeckle();
ocrInput.EnhanceResolution(225);
ocrInput.Sharpen();
ocrInput.Erode();
ocrInput.Dilate();
ocrInput.Scale(200);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
// Fast Dictionary
ocrTesseract.Language = OcrLanguage.EnglishFast;
// Turn off unneeded options
ocrTesseract.Configuration.ReadBarCodes = false;
// Assume text is laid out neatly in an orthogonal document
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// First load all image(s)
ocrInput.LoadImage(@"images\image.png");
// Note: You don't need all of them; most users only need Deskew() and occasionally DeNoise()
ocrInput.WithTitle("My Document");
ocrInput.Binarize();
ocrInput.Contrast();
ocrInput.Deskew();
ocrInput.DeNoise();
ocrInput.Despeckle();
ocrInput.Dilate();
ocrInput.EnhanceResolution(300);
ocrInput.Invert();
ocrInput.Rotate(90);
ocrInput.Scale(150);
ocrInput.Sharpen();
ocrInput.ToGrayScale();
ocrInput.Erode();
// WIZARD - If you are unsure use the debug-wizard to test all combinations:
string codeToRun = OcrInputFilterWizard.Run(@"images\image.png", out double confidence, ocrTesseract);
Console.WriteLine(codeToRun);
// Optional: Export modified images so you can view them.
foreach (var page in ocrInput.GetPages())
{
page.SaveAsImage($"filtered_{page.Index}.bmp");
}
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using IronSoftware.Drawing;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage("blue_and_pink.png");
ocrInput.WithTitle("Recolored");
ocrInput.ReplaceColor(Color.Pink, Color.White, 10);
// Pink detection has 10% tolerance
ocrInput.ReplaceColor(Color.Blue, Color.Black, 5);
// Blue detection has 5% tolerance
// Export the modified image so you can manually inspect it.
foreach (var page in ocrInput.GetPages())
{
page.SaveAsImage($"black_and_white_page_{page.Index}.bmp");
}
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
int PageWidth = page.Width;
int PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\page1.png");
ocrInput.LoadImage(@"images\page2.bmp");
var page = new int[]{ 2, 3 };
ocrInput.LoadImageFrames(@"images\page3.tiff", page);
ocrInput.Deskew();
var ocrResult = ocrTesseract.Read(ocrInput);
ocrResult.SaveAsSearchablePdf("searchable.pdf");
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
// This is done by default and can be omitted:
// ocrTesseract.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract()
{
Language = OcrLanguage.EnglishBest,
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false,
RenderHocr = true,
BlackListCharacters = "`ë|^",
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
}
};
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using IronSoftware.Drawing;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// A 41% improvement on speed by specifiying a pixel region
var ContentArea = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);
ocrInput.LoadImage("img/example.png", ContentArea);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImageFrame("images/multiframe.tiff", 1);
var ocrResult = ocrTesseract.Read(ocrInput);
ocrResult.SaveAsSearchablePdf("searchable.pdf");
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.TargetDPI = 300;
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("scan.pdf");
// Image processing is automatically multi-threaded
ocrInput.Deskew();
// OCR reading is automatically multi-threaded too
var ocrResult = ocrTesseract.Read(ocrInput);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.OcrProgress += (_, ocrProgressEventsArgs) =>
{
Console.WriteLine(ocrProgressEventsArgs.ProgressPercent + "% " + ocrProgressEventsArgs.Duration.TotalSeconds + "s");
};
using var input = new OcrInput();
input.LoadPdf("large.pdf");
// Progress events will fire during the read operation even if the main thread is blocked.
var result = ocrTesseract.Read(input);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("images/multiframe.tiff", pages);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("scan.pdf", Password: "password");
// Clean up twisted pages
ocrInput.Deskew();
var ocrResult = ocrTesseract.Read(ocrInput);
ocrResult.SaveAsSearchablePdf("searchable.pdf");
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
//PM> Install-Package IronOcr.Languages.Arabic
//PM> Install-Package IronOcr.Languages.Chinese
using IronOcr;
using System;
var Ocr = new IronTesseract();
// Add a primary language (Default is English)
Ocr.Language = OcrLanguage.English;
// Add as many secondary languages as you like
Ocr.AddSecondaryLanguage(OcrLanguage.Arabic);
Ocr.AddSecondaryLanguage(OcrLanguage.ChineseSimplified);
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var Result = Ocr.Read(ocrInput);
Console.WriteLine(Result.Text);
using IronOcr;
using IronSoftware.Drawing;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
foreach (var word in page.Words)
{
word.ToBitmap(ocrInput).SaveAs($"page{page.PageNumber}_word{word.WordNumber}.png", AnyBitmap.ImageFormat.Png);
}
}
手動データ入力は時間がかかり、エラーが発生しやすく、多大な労力を要します。 そこが光学文字認識(Optical Character Recognition, OCR)の出番です。 (OCR (光学式文字認識)) ソフトウェアが登場します。 この記事では、どのようにして IronOCR 正確にデータを抽出するのに役立ちます。
IronOCR は、さまざまな文書や運転免許証からテキストを簡単に抽出できる強力なOCR文書処理エンジンです。 それは、PDF、JPEG、PNG、TIFFなど、複数のファイル形式をサポートしており、柔軟で多用途です。IronOCRは、.NET Framework上に構築されており、既存のアプリケーションに簡単に統合できます。
IronOCRには次のような機能があります:
からのテキスト認識 画像およびスキャンされたドキュメント
JPEG、PNG、BMPなど、さまざまな画像フォーマットに対応
複数ページのドキュメント サポート
複数の OCRエンジンオプションTesseractやGOCRを含む
言語検出 120以上の言語をサポート
自動翻訳 画像前処理 より高いOCR精度のために
IronOCRライブラリのインストールは簡単なプロセスです。 以下の手順を参照してください:
ソリューションエクスプローラーでプロジェクトを右クリックし、「NuGetパッケージの管理」を選択します。
IronOCR を検索: 「NuGet パッケージの管理」ウィンドウの「参照」タブで「IronOCR」を検索します。
パッケージをインストールする: IronOCRパッケージの横にある「インストール」ボタンをクリックしてインストールします。
以上です! IronOCRライブラリのインストールが完了しました。今すぐプロジェクトで使用を開始できます。
IronOCR for 使用 データ抽出 顧客の運転免許証から情報を取得するのは簡単です。 画像を... IronOCRコンピュータビジョン エンジンは自動的にテキストを認識して抽出します。 IronOCRは、名前、住所、生年月日、そしてライセンス番号などの顧客の重要な詳細を抽出できるため、多くの業界にとって貴重なツールです。
運転免許証の画像からテキストを抽出するためにIronOCRを使用するシンプルな例を以下に示します:
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput(@"C:\Users\Administrator\Desktop\License.jpg"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput(@"C:\Users\Administrator\Desktop\License.jpg"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput("C:\Users\Administrator\Desktop\License.jpg")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
運転免許
必要な名前空間をインポートします:IronOcr
と System
.
新しいインスタンスを作成する IronTesseract
.
運転免許証の画像を次の方法で開きます OcrInput(OCR入力) クラス。
次のものを使用 読み取り (読み取り)もちろん、英語のテキストを教えていただけますでしょうか? 入力画像に対してOCRを実行するための IronTesseract
インスタンスのメソッド。
抽出されたテキストをコンソールに印刷します。
IronOCRの出力は印象的で、精度は卓越しています。 IronOCRは高度なアルゴリズムを使用してテキストを認識し、データを扱うことができます。 幅広いフォント、サイズ、スタイル. 手書きや筆記体の認識も可能で、手書きの文書や運転免許証からのデータ抽出に優れたツールです。
IronOCRライブラリからの出力テキスト
英国運転免許証に対するOCRの結果
DRIVING LICENCE
1. WHEEL
2. MRS ANGELA DIANNE
3. 11.11.1953 UNITED KINGDOM
4a. 04.09.2070 4b. 19.12.2020 4c. DVLA
1. WHEAL561113AD9US 76
TL
8. 7SEAROAD,
WINCHELSEA, AN34 3NA
V 9. AM/A/B1/B/C 1/D1/BE/C1E/D1E!i'%/)/n/p/q
運転免許証の確認のためにOCRソリューションを導入することで、レンタカーサービスはこのプロセスを自動化し、効率と正確性を向上させることができます。 以下は、さまざまなユースケースにどのように適用できるかのハイレベルな概要です:
前述の通り、レンタカー会社はOCR技術を使用して顧客の運転免許証の確認プロセスを自動化することができます。 これにより登録プロセスが迅速化され、待ち時間が短縮され、顧客満足度が向上します。
保険提供者は、契約者のリスクプロファイルを評価したり、請求手続き中に身元を確認したりするために、運転免許証の情報を抽出するためにOCRを使用できます。 これはワークフローを効率化し、意思決定のために正確なデータが使用されることを保証するのに役立ちます。
法執行機関は、交通停止や検問の際に運転免許証を迅速かつ正確に処理するためにOCR技術を使用できます。 これにより、担当者が手動でデータ入力にかける時間が短縮され、より重要なタスクに集中することができます。
身分証明サービスを提供する企業は、ドライバーズライセンスOCRを統合してサービスを強化することができます。 運転免許証からデータを抽出することにより、これらの企業は銀行、金融機関、またはオンラインプラットフォームなどのクライアントに対して追加の認証層を提供できます。
OCR技術をシステムに統合することにより、企業や政府機関はワークフローを効率化し、エラーを減らし、全体的な効率を向上させることができます。 上記のユースケースは、さまざまな業界やセクターにおける運転免許データ抽出の自動化による潜在的な利益を示しています。
運転免許証のOCRは、多くの業界にとって貴重なツールです。 時間を節約し、エラーを減らし、検証プロセスを簡素化します。 IronOCRは、運転免許証からデータを迅速かつ正確に抽出する強力なOCRエンジンおよびソリューションです。 複数のファイル形式に対応し、卓越した精度を誇るIronOCRは、運転免許証を処理する、または処理する必要があるあらゆる組織や企業にとって優れたツールです。
IronOCRには、 ライセンス料金 選択されたライセンスプランに応じて、$599から始まります。 ただし、IronOCRも提供しています 無料試用期間顧客が購入を決定する前に、ソフトウェアとその機能を無料でテストできるようにします。 無料試用期間中、ユーザーはソフトウェアの全機能と機能を利用することができ、それが自分の特定のニーズや要件を満たしているかどうかを判断できます。
PM > Install-Package IronOcr
30日間の試用キー 即座に。
15日間のトライアルキー 即座に。
あなたのトライアルキーはメールの中にあります。
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
無料で始めましょう
クレジットカードは不要です
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
クレジットカードやアカウント作成は不要です。
あなたのトライアルキーはメールの中にあります。
お問い合わせは、
support@ironsoftware.com
無料で始めましょう
クレジットカードは不要です
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
クレジットカードやアカウント作成は不要です。
あなたのトライアルキーはメールの中にあります。
お問い合わせは、
support@ironsoftware.com
無料で始めましょう
クレジットカードは不要です
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
ありがとう!
ライセンスキーが指定されたメールアドレスに送られました。お問い合わせ
24時間アップグレードオファー:
Save 50% で
プロフェッショナル アップグレード
Go プロフェッショナル 10人の開発者をカバーするために
無制限のプロジェクト。
:
:
プロフェッショナル
$600 米ドル
$299 米ドル
2つの価格で5つの.NET製品
総合スイート価値:
$7,192 米ドル
アップグレード価格
本日
以下の内容を日本語に翻訳してください:
この操作を実行するには、最新のIronPDF for .NETをインストールする必要があります。インストール手順については、公式ウェブサイトのドキュメントを参照してください。
$499 米ドル
24時間後
$1,098 米ドル
9つの .NET API製品 オフィス文書用