IronOCR ハウツー ナンバープレートの読み取り IronOCRでナンバープレートをC#で読む方法 カーティス・チャウ 更新日:2026年1月10日 IronOCR をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronOCRのReadLicensePlateメソッドは、高度なOCR技術を使って車両画像からナンバープレートを自動的に抽出します。 この単一のメソッド呼び出しは、ナンバープレートを高精度で処理し、自動車両管理システムのためにプレートテキストと信頼度スコアの両方を返すことができます。 大量の車両画像を管理する場合、ナンバープレートを手動で読み取るのは時間がかかり、人為的エラーが発生しやすくなります。 IronOCR のようなツールを使用してこのプロセスを自動化すると、より効率的で正確なソリューションが得られます。 IronOCRのReadLicensePlateメソッドは、プログラムによって画像からナンバープレートを抽出することができ、データの精度を高めながら時間を大幅に節約することができます。 このガイドでは、IronOCRをナンバープレート認識用に使用する方法を、例やカスタマイズ可能な設定を通して説明し、プロセスをシームレスにします。 これらの方法を活用することで、開発者はナンバープレートの読み取りを自動化し、駐車場管理、通行料徴収、セキュリティ監視などのタスクをより効率的に行うことができます。 この機能を使用するには、 IronOcr.Extension.AdvancedScanパッケージもインストールする必要があります。 クイックスタート: ナンバープレートの番号を即座に抽出する IronOCRのReadLicensePlateメソッドを呼び出すだけで、どんな画像からでもナンバープレートのテキストをプログラムで抽出することができます。 画像を読み込んでメソッドを呼び出すだけで、すぐにプレート番号と信頼度の両方を取得できます。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronOCR をインストールします PM > Install-Package IronOcr このコード スニペットをコピーして実行します。 OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg")); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう 30日間無料トライアル ### 最小限のワークフロー(5ステップ) ナンバープレート読み取り用のC#ライブラリをダウンロードする 処理のためにナンバープレート画像をインポート 文書にはヘッダーやフッターなしにナンバープレート画像のみが含まれていることを確認 ReadLicensePlateメソッドを使用して画像からデータを抽出します OcrLicensePlateResultプロパティにアクセスして、抽出されたライセンス データを表示および操作します。 C#でナンバープレートを読むには? IronOCRでナンバープレートを読むには、以下のステップを適用します: OcrInputを入力パラメータとして受け取るReadLicensePlateメソッドを利用します。 このメソッドは、ライブラリの標準的なReadの対応よりも、ナンバープレート用に最適化されています。 オプションとして、IronOCRがナンバープレート中に存在しうる特定の文字をホワイトリストに登録し、ナンバープレート番号の処理を高速化するように設定することができます。 ブラケットオープン この方法は現在、英語、中国語、日本語、韓国語、ラテンアルファベット文字にのみ対応しています。 .NET Framework で詳細スキャンを使用するには、プロジェクトを x64 アーキテクチャで実行する必要があります。 ブラケットを閉じる 入力ナンバープレートはどのように見えますか? "8TRS777"を示すカリフォルニア州のナンバープレート - ナンバープレート読み取りデモの例。 ナンバープレートの OCR を設定するには? :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 どのような結果が期待できますか? Debug console showing license plate OCR results:カリフォルニア州、プレート 8TRS777、信頼度 95.87% このコードは、画像をOcrInputとしてインポートし、それをReadLicensePlateメソッドと共に使用してナンバー プレートからテキストを抽出する方法を示しています。 出力には、入力画像に表示されているナンバープレートに一致する抽出されたテキストと、OCR の精度を示す信頼度レベルが表示されます。 テキスト: OCR 入力から抽出されたテキスト。 自信:doubleプロパティで、すべての文字の平均の統計的な精度の信頼度を示し、1が最高、0が最低です。 OCR プロセスをより正確に制御するには、高度な構成オプションを調べて、文字認識設定を微調整することができます。 車の画像からナンバープレートを抽出するにはどうすればよいですか? この方法は、ナンバープレートの付いた車が写っている画像にも有効です。 コードは上のものと同じですが、入力画像が変更されています。 画像内でナンバープレートが配置されている領域のピクセル座標を抽出することもできます。 どのようなタイプの車の画像が最も効果的ですか? マハラシュトラ州のナンバープレートMH 20 EE 7602を示すダークグレーのシュコダ車がレンガの舗道に駐車。 最適な結果を得るためには、車の画像に以下のような特徴があることを確認してください: ナンバープレートの明確な視認性 良好な照明条件(まぶしさや影を避けること) 最小限の角度の歪み 適切な解像度(低解像度の画像については、DPI設定の調整を検討してください。) ナンバープレートの位置座標を取得するにはどうすればよいですか? :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 結果にはどのような情報が含まれますか? 検出されたナンバープレート MH20EE7602 とバウンディングボックス座標および寸法を示す Visual Studio デバッグ出力。 この例では、 ReadLicensePlateメソッドを車の画像に適用する方法を示します。 このメソッドは、画像内でナンバープレートが配置されている場所の長方形座標も返します。 この方法は、単一のナンバープレートのみを見つけるために最適化されており、ストック画像内で検索することができます。 複数のナンバープレートを処理するにはどうすればよいですか? 複数の車両画像を扱う場合、バッチ処理を使用すると効率的に処理できます: using IronOcr; using System.IO; using System.Threading.Tasks; public async Task ProcessMultipleLicensePlates(string[] imagePaths) { var ocr = new IronTesseract(); // Configure for optimal performance ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock; var tasks = imagePaths.Select(async path => { using var input = new OcrInput(); input.LoadImage(path); var result = await Task.Run(() => ocr.ReadLicensePlate(input)); return new { FilePath = path, PlateNumber = result.Text, Confidence = result.Confidence }; }); var results = await Task.WhenAll(tasks); // Process results foreach (var result in results) { Console.WriteLine($"File: {result.FilePath}"); Console.WriteLine($"Plate: {result.PlateNumber} (Confidence: {result.Confidence:P})"); } } using IronOcr; using System.IO; using System.Threading.Tasks; public async Task ProcessMultipleLicensePlates(string[] imagePaths) { var ocr = new IronTesseract(); // Configure for optimal performance ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock; var tasks = imagePaths.Select(async path => { using var input = new OcrInput(); input.LoadImage(path); var result = await Task.Run(() => ocr.ReadLicensePlate(input)); return new { FilePath = path, PlateNumber = result.Text, Confidence = result.Confidence }; }); var results = await Task.WhenAll(tasks); // Process results foreach (var result in results) { Console.WriteLine($"File: {result.FilePath}"); Console.WriteLine($"Plate: {result.PlateNumber} (Confidence: {result.Confidence:P})"); } } Imports IronOcr Imports System.IO Imports System.Threading.Tasks Public Async Function ProcessMultipleLicensePlates(imagePaths As String()) As Task Dim ocr As New IronTesseract() ' Configure for optimal performance ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock Dim tasks = imagePaths.Select(Async Function(path) Using input As New OcrInput() input.LoadImage(path) Dim result = Await Task.Run(Function() ocr.ReadLicensePlate(input)) Return New With { .FilePath = path, .PlateNumber = result.Text, .Confidence = result.Confidence } End Using End Function) Dim results = Await Task.WhenAll(tasks) ' Process results For Each result In results Console.WriteLine($"File: {result.FilePath}") Console.WriteLine($"Plate: {result.PlateNumber} (Confidence: {result.Confidence:P})") Next End Function $vbLabelText $csharpLabel 大規模処理の場合は、マルチスレッド機能を実装してパフォーマンスを最大化することを検討してください。 ナンバープレート認識の精度を向上させるにはどうすればよいですか? ナンバープレート検出の精度を高めるには、以下の最適化テクニックを検討してください: 画像前処理フィルタを適用する using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput(); // Load and preprocess the image input.LoadImage("blurry_plate.jpg"); input.Deskew(); // Correct image rotation input.DeNoise(); // Remove background noise input.EnhanceResolution(225); // Upscale for better clarity input.Sharpen(); // Enhance edge definition var result = ocr.ReadLicensePlate(input); using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput(); // Load and preprocess the image input.LoadImage("blurry_plate.jpg"); input.Deskew(); // Correct image rotation input.DeNoise(); // Remove background noise input.EnhanceResolution(225); // Upscale for better clarity input.Sharpen(); // Enhance edge definition var result = ocr.ReadLicensePlate(input); Imports IronOcr Dim ocr As New IronTesseract() Using input As New OcrInput() ' Load and preprocess the image input.LoadImage("blurry_plate.jpg") input.Deskew() ' Correct image rotation input.DeNoise() ' Remove background noise input.EnhanceResolution(225) ' Upscale for better clarity input.Sharpen() ' Enhance edge definition Dim result = ocr.ReadLicensePlate(input) End Using $vbLabelText $csharpLabel 入力画像を最適化するために利用可能な 画像フィルタ と 画像補正テクニック の詳細をご覧ください。 さまざまな照明条件に対応する 困難な照明シナリオについては、適切な補正を適用します: using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput(); input.LoadImage("dark_plate.jpg"); input.Contrast(1.5); // Increase contrast input.Brightness(1.2); // Adjust brightness input.Binarize(); // Convert to black and white for clarity var result = ocr.ReadLicensePlate(input); using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput(); input.LoadImage("dark_plate.jpg"); input.Contrast(1.5); // Increase contrast input.Brightness(1.2); // Adjust brightness input.Binarize(); // Convert to black and white for clarity var result = ocr.ReadLicensePlate(input); Imports IronOcr Dim ocr As New IronTesseract() Using input As New OcrInput() input.LoadImage("dark_plate.jpg") input.Contrast(1.5) ' Increase contrast input.Brightness(1.2) ' Adjust brightness input.Binarize() ' Convert to black and white for clarity Dim result = ocr.ReadLicensePlate(input) End Using $vbLabelText $csharpLabel OCRのパフォーマンスを監視するにはどうすればよいですか? 大量のナンバープレートを処理する場合、進捗状況を追跡することで、システムリソースの管理に役立ちます: using IronOcr; var ocr = new IronTesseract(); // Subscribe to progress events ocr.OcrProgress += (sender, e) => { Console.WriteLine($"Processing: {e.ProgressPercent}% complete"); }; using var input = new OcrInput(); input.LoadImage("large_parking_lot.jpg"); var result = ocr.ReadLicensePlate(input); using IronOcr; var ocr = new IronTesseract(); // Subscribe to progress events ocr.OcrProgress += (sender, e) => { Console.WriteLine($"Processing: {e.ProgressPercent}% complete"); }; using var input = new OcrInput(); input.LoadImage("large_parking_lot.jpg"); var result = ocr.ReadLicensePlate(input); Imports IronOcr Dim ocr As New IronTesseract() ' Subscribe to progress events AddHandler ocr.OcrProgress, Sub(sender, e) Console.WriteLine($"Processing: {e.ProgressPercent}% complete") End Sub Using input As New OcrInput() input.LoadImage("large_parking_lot.jpg") Dim result = ocr.ReadLicensePlate(input) End Using $vbLabelText $csharpLabel 詳細なパフォーマンス監視については、IronOCRの進捗追跡機能をご覧ください。 他のドキュメントリーディングと比較してどうですか? IronOCRの専門的な文書読み取り能力は、ナンバープレートだけにとどまりません。 ナンバープレート検出に力を与えているのと同じコンピュータ ビジョン テクノロジーを適用することができます: 旅行や本人確認のためのパスポート読み取り。 MICR 小切手処理 銀行アプリケーション用 デジタル化プロジェクトのための一般文書のスキャン。 一般的な使用例とは IronOCRによるナンバープレート認識は様々なアプリケーションを可能にします: 駐車場管理:入出庫ロギングと支払い処理の自動化 料金徴収:料金所での車両識別のスピードアップ セキュリティ監視:制限区域での車両の動きを追跡する フリート管理:社用車と物流を監視する 法執行:対象車両をすばやく特定する IronOCRは高精度でリアルタイムに画像を処理できるため、バッチ処理にもライブアプリケーションにも適しています。 よくある質問 C#で画像からナンバープレートを読み取るには? IronOCRのReadLicensePlateメソッドを使ってC#でナンバープレートを読むことができます。IronTesseractインスタンスを作成し、ナンバープレート画像を含むOcrInputを指定してReadLicensePlateを呼び出すだけです。このメソッドは、抽出されたナンバープレートのテキストと信頼度スコアのOcrLicensePlateResultを返します。 ナンバープレート認識にはどのパッケージをインストールする必要がありますか? IronOCRのナンバープレート認識機能を使用するには、NuGetからIronOCRのメインパッケージとIronOcr.Extension.AdvancedScanパッケージの両方をインストールする必要があります。AdvancedScanエクステンションは専用のReadLicensePlateメソッドを提供する。 たった1行のコードでナンバープレートを抽出できますか? はい、IronOCRは1行のコードでナンバープレートのテキストを抽出することができます:OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg")); これでナンバープレートと信頼度スコアが即座に返されます。 ナンバープレート認識でサポートされている言語は? IronOCRのReadLicensePlateメソッドは現在、英語、中国語、日本語、韓国語、ラテンアルファベットのナンバープレートをサポートしています。このメソッドはこれらの文字セット専用に最適化されています。 ナンバープレートの読み取り精度を向上させるにはどうすればよいですか? IronOCRでは、ナンバープレートに現れる特定の文字をホワイトリストに登録し、ヘッダーやフッターを含まないナンバープレートだけを画像に含ませ、高品質の画像を使用することで精度を向上させることができます。ReadLicensePlateメソッドはすでにナンバープレート認識専用に最適化されています。 .NET Frameworkでのナンバープレート認識のシステム要件は何ですか? .NET Framework上でReadLicensePlateを含むIronOCRの高度なスキャン機能を使用する場合、プロジェクトはx64アーキテクチャ上で実行する必要があります。この要件はナンバープレート認識機能の最適なパフォーマンスを保証します。 ナンバープレート認識はどのような情報を返しますか? IronOCRのReadLicensePlateメソッドは、抽出されたナンバープレートテキストと信頼度スコアを含むOcrLicensePlateResultオブジェクトを返します。これにより、ナンバープレートの取得とOCR結果の信頼性評価の両方が可能になります。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 5,384,824 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 5,384,824 ライセンスを見る