IronOCR を使用してナンバープレートを読み取る方法
大量の車両画像を管理する際、ナンバープレートを手動で読み取ることは時間がかかり、人為的な誤りが生じやすいです。 IronOCRのようなツールでこのプロセスを自動化することは、より効率的で正確なソリューションを提供します。 IronOCRのReadLicensePlate
メソッドは、プログラムで画像からナンバープレート番号を抽出でき、データの正確性を向上させながら、かなりの時間を節約できます。
このガイドでは、IronOCRをナンバープレート認識に使用する方法を示し、プロセスをシームレスにする例とカスタマイズ可能な設定を解説します。 これらの方法を活用することで、開発者はナンバープレートの読み取りを自動化でき、駐車管理、料金徴収、またはセキュリティ監視のような作業をより効率的にすることができます。
IronOCR を使用してナンバープレートを読み取る方法
- ナンバープレートを読み取るためのC#ライブラリをダウンロード
- ナンバープレートの画像を処理するためにインポートする
- ドキュメントにはヘッダーやフッターを含まずに、ナンバープレート画像のみが含まれていることを確認してください。
- 以下を使用
ReadLicensePlate (ナンバープレートを読む)
画像からデータを抽出する方法 - アクセスOcrLicensePlateResult抽出されたライセンスデータを表示および操作するためのプロパティ
申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!-- RENDER.PHP -- NUGET LIBRARY DOWNLOAD DIRECTIVE TAG :: START -->
今日から無料トライアルでIronOCRをあなたのプロジェクトで使い始めましょう。
申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!-- RENDER.PHP -- NUGET ライブラリ ダウンロード ディレクティブ タグ :: 終了 -->
この機能を使用するには、もインストールする必要があります。IronOcr.Extension.AdvancedScanパッケージ。
ナンバープレートを読む例
IronOCRでナンバープレートを読むには、次の手順を適用する必要があります。
- 入力として
OcrInput
をパラメーターに取るReadLicensePlate
メソッドを利用します。 このメソッドは、ライブラリの標準のRead
メソッドよりもナンバープレートに対して正確に最適化されています。 -
オプション : ナンバープレート番号の処理を高速化するために、IronOCRでナンバープレートに存在できる特定の文字のみをホワイトリストに登録するように設定することができます。
次の内容にご注意ください。
- このメソッドは現在、英語、中国語、日本語、韓国語、ラテンアルファベットにのみ対応しています。
高度なスキャンを .NET Framework で使用するには、プロジェクトを x64アーキテクチャで実行する必要があります。
ナンバープレート
コード
:path=/static-assets/ocr/content-code-examples/how-to/read-license-plate-read-license-plate.cs
using IronOcr;
using System;
var ocr = new IronTesseract();
ocr.Configuration.WhiteListCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
using var inputLicensePlate = new OcrInput();
inputLicensePlate.LoadImage("plate.jpeg");
// Read license plate
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);
// Retrieve license plate number and confidence value
string output = $"{result.Text}\nResult Confidence: {result.Confidence}";
Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Private ocr = New IronTesseract()
ocr.Configuration.WhiteListCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"
Dim inputLicensePlate = New OcrInput()
inputLicensePlate.LoadImage("plate.jpeg")
' Read license plate
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)
' Retrieve license plate number and confidence value
Dim output As String = $"{result.Text}" & vbLf & "Result Confidence: {result.Confidence}"
Console.WriteLine(output)
出力
最初に画像をOcrInput
としてインポートし、ReadLicensePlate
メソッドに正しくパラメータを渡す必要があることに注意してください。
コンソール出力からわかるように、抽出されたテキストは入力画像に表示されたナンバープレートと状態に一致しています。
OCR入力から抽出されたテキスト。
信頼度: すべての文字の平均における統計的な精度信頼度を示す「double」プロパティで、1が最も高く、0が最も低い値です。
車の画像からのナンバープレート
このメソッドは、ナンバープレートが付いた車を含む単一の画像にも効果的に機能します。 コードは上記と完全に同じで、入力画像が変更されています。 画像内のナンバープレートがある領域のピクセル座標も抽出できます。
例の入力:
:path=/static-assets/ocr/content-code-examples/how-to/read-license-plate-read-from-car.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
var ocr = new IronTesseract();
using var inputLicensePlate = new OcrInput();
inputLicensePlate.LoadImage("car_license.jpg");
// Read license plate
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);
// Retrieve license plate coordinates
RectangleF rectangle = result.Licenseplate;
// Write license plate value and coordinates in a string
string output = $"License Plate Number:\n{result.Text}\n\n"
+ $"License Plate Area_\n"
+ $"Starting X: {rectangle.X}\n"
+ $"Starting Y: {rectangle.Y}\n"
+ $"Width: {rectangle.Width}\n"
+ $"Height: {rectangle.Height}";
Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
Private ocr = New IronTesseract()
Private inputLicensePlate = New OcrInput()
inputLicensePlate.LoadImage("car_license.jpg")
' Read license plate
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)
' Retrieve license plate coordinates
Dim rectangle As RectangleF = result.Licenseplate
' Write license plate value and coordinates in a string
Dim output As String = $"License Plate Number:" & vbLf & "{result.Text}" & vbLf & vbLf & $"License Plate Area_" & vbLf & $"Starting X: {rectangle.X}" & vbLf & $"Starting Y: {rectangle.Y}" & vbLf & $"Width: {rectangle.Width}" & vbLf & $"Height: {rectangle.Height}"
Console.WriteLine(output)
出力
ご覧の通り、出力は上に示されたナンバープレートと一致しており、画像内のナンバープレートの正確な長方形の領域も正しく抽出されています。
このメソッドは、単一のナンバープレートのみを特定するよう最適化されており、ストック画像内でそれらを検索することができます。