C# OCRでナンバープレートを読む方法

IronOCR を使って C# でナンバープレートを読み取る方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

大量の車両画像を管理する場合、ナンバープレートを手動で読み取るのは時間がかかり、人為的エラーが発生しやすくなります。 IronOCR のようなツールを使用してこのプロセスを自動化すると、より効率的で正確なソリューションが得られます。 IronOCR のReadLicensePlateメソッドを使用すると、プログラムで画像からナンバープレートの番号を抽出できるため、時間を大幅に節約しながらデータの精度を向上させることができます。

このガイドでは、ナンバープレート認識に IronOCR を使用する方法を示し、プロセスをシームレスにする例とカスタマイズ可能な構成について説明します。 これらの方法を活用することで、開発者はナンバープレートの読み取りを自動化し、駐車場管理、通行料徴収、セキュリティ監視などのタスクをより効率的に行うことができます。

この機能を使用するには、 IronOcr.Extension.AdvancedScanパッケージもインストールする必要があります。

クイックスタート: ナンバープレートの番号を即座に抽出する

IronOCR のReadLicensePlateを使用した単一のメソッド呼び出しで、任意の画像からナンバープレートのテキストをプログラムで抽出できます。 すぐに使用できます。画像を読み込み、メソッドを呼び出すだけで、ナンバープレートの番号と信頼度の両方をすぐに取得できます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronOCR をインストールします

    PM > Install-Package IronOcr

  2. このコード スニペットをコピーして実行します。

    OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg"));
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう
    arrow pointer

ナンバープレートの読み取り例

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)
$vbLabelText   $csharpLabel

出力

ナンバープレート結果

このコードは、画像をOcrInputとしてインポートし、それをReadLicensePlateメソッドと共に使用してナンバー プレートからテキストを抽出する方法を示しています。 出力には、入力画像に表示されているナンバープレートに一致する抽出されたテキストと、OCR の精度を示す信頼度レベルが表示されます。

テキスト: 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)
$vbLabelText   $csharpLabel

出力

車のナンバープレートの結果

この例では、 ReadLicensePlateメソッドを車の画像に適用する方法を示します。 このメソッドは、画像内でナンバープレートが配置されている場所の長方形座標も返します。

この方法は、単一のナンバープレートのみを見つけるために最適化されており、ストック画像内で検索することができます。

よくある質問

C#でナンバープレート認識を自動化するにはどうすればよいですか?

IronOCRのReadLicensePlateメソッドを使用してC#でナンバープレート認識を自動化できます。このメソッドにより、画像からナンバープレート番号を抽出し、手動方法と比較して効率と精度を向上させます。

IronOCRを使ったナンバープレートの読み取りにはどのような手順がありますか?

IronOCRを使用してナンバープレートを読み取るには、C#ライブラリをダウンロードし、ナンバープレート画像をOcrInputとしてインポートし、ReadLicensePlateメソッドを使ってデータを抽出します。その後、さらなる操作のためにOcrLicensePlateResultプロパティにアクセスできます。

IronOCRはナンバープレートが見える車の画像を処理できますか?

はい、IronOCRは車の画像からナンバープレートを読み取ることができます。また、画像内でナンバープレートの位置のピクセル座標を提供することもできます。

IronOCRによるナンバープレートの読み取りではどのような言語がサポートされていますか?

IronOCRのReadLicensePlateメソッドは、ナンバープレート読み取りのために英語、中国語、日本語、韓国語、ラテンアルファベットをサポートしています。

文字のホワイトリストを設定することは、ナンバープレート認識をどのように向上させますか?

ナンバープレートによく含まれる特定の文字をIronOCRにホワイトリスト登録することで、認識性能を向上させ、ナンバープレート番号の処理を迅速化できます。

高度なナンバープレートスキャンにはどの追加パッケージが必要ですか?

高度なスキャン機能を得るためには、IronOcr.Extensions.AdvancedScanパッケージをインストールする必要があります。

ナンバープレート認識における信頼度の重要性は何ですか?

ナンバープレート認識における信頼度は、OCRプロセスの統計的な精度を示し、0から1の範囲で、1が最高の信頼度を表します。

IronOCRは.NET Frameworkでナンバープレートを読むためにどのように最適化されていますか?

IronOCRは、x64アーキテクチャで実行する際に.NET Frameworkでのナンバープレート読み取りが最適化されており、効率的な処理と認識性能を確保しています。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 5,167,857 | Version: 2025.11 リリース