IronOCR ile C#'da Plaka Nasıl Okunur
IronOCR'nin ReadLicensePlate metodu, gelişmiş OCR teknolojisini kullanarak araç görüntülerinden plaka numaralarını otomatik olarak çıkarır. Bu tek yöntem çağrısı, plaka metnini ve güven skorunu döndürerek, otomatik araç yönetim sistemleri için plakaları yüksek doğrulukla işleyebilir.
Yüksek sayıda araç görüntüsü yönetirken, plakaları manuel olarak okumak zaman alıcı ve insana hatasına eğilimlidir. IronOCR gibi bir araçla bu süreci otomatikleştirmek daha verimli ve doğru bir çözüm sunar. IronOCR'nin ReadLicensePlate metodu, görüntülerden plaka numaralarını programlı bir şekilde çıkararak veri doğruluğunu artırırken önemli ölçüde zaman tasarrufu sağlar.
Bu rehberde, IronOCR'u plaka tanıma için nasıl kullanacağımızı, süreci sorunsuz hale getiren örneklerle ve özelleştirilebilir yapılandırmalarla göstereceğiz. Bu yöntemleri kullanarak, geliştiriciler plaka okuma işlerini otomatik hale getirerek, park yönetimi, ücret toplama veya güvenlik gözetimi gibi görevleri daha verimli hale getirebilir.
Bu işlevi kullanmak için, IronOcr.Extension.AdvancedScan paketini de yüklemeniz gerekmektedir.
Hızlı Başlangıç: Plaka Numarasını Hemen Çıkarın
IronOCR'nin ReadLicensePlate metodunu kullanarak tek bir çağrı ile herhangi bir görüntüden plaka metnini programlı bir şekilde çıkarabilirsiniz. Kullanıma hazırdır - sadece bir görüntü yükleyin, yöntemi çağırın ve plaka numarası ile güven skorunu hemen alın.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
Bu kod parçasını kopyalayıp çalıştırın.
OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg")); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
Minimal Is Akisi (5 adimda)
- Plaka okumak için C# kütüphanesini indirin
- İşleme için plaka görüntüsünü içe aktarın
- Belgenin yalnızca plaka görüntüsünü içerdiğinden emin olun, başlık veya altbilgisiz
- Görüntüden veri çıkarmak için
ReadLicensePlateyöntemini kullanın - Çıkarılan plaka verilerini görüntülemek ve işlemek için
OcrLicensePlateResultözelliğine erişin
C#'da Plaka Nasıl Okunur?
IronOCR'da plaka okumak için şu adımları uygularız:
- Giriş için bir
OcrInputparametresi alanReadLicensePlatemetodunu kullanıyoruz. Bu yöntem, kütüphanenin standartReadkarşılaştırıldığında plakalar için daha optimize edilmiştir. - İsteğe bağlı olarak, plaka numarası işlemesini hızlandırmak için plakada bulunabilecek belirli karakterleri beyaz listeye almak üzere IronOCR'u yapılandırabiliriz.
- Bu yöntem şu anda yalnızca İngilizce, Çince, Japonca, Korece ve Latin alfabesi yazı dizilerini desteklemektedir.
- .NET Framework üzerinde gelişmiş tarama yapmak, projenin x64 mimarisi üzerinde çalışmasını gerektirir.
)}]
Girdi Plaka Ne Görünüyor?

Plakalar için OCR Nasıl Yapılandırılır?
: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)
Hangi Sonuçları Beklemeliyim?

Kod, bir görüntünün OcrInput olarak nasıl içe aktarılacağını ve plaka üzerindeki metni çıkarmak için ReadLicensePlate yöntemiyle nasıl kullanılacağını gösteriyor. Çıktı, giriş görüntüsünde gösterilen plakayla eşleşen ve OCR'nin doğruluğunu belirten güven seviyesi ile birlikte çıkarılan metni gösterir.
Metin: OCR Girdi'sinden çıkarılan metin.
Güven: Her karakterin ortalama istatistiksel doğruluk güvenini belirten bir double özelliği olup, 1 en yüksek ve 0 en düşük olur.
OCR sürecini daha hassas kontrol etmek için ileri düzey yapılandırma seçeneklerini inceleyerek karakter tanıma ayarlarını ince ayar yapabilirsiniz.
Araba Görüntülerinden Plakaları Nasıl Çıkarırım?
Yöntem, araç plakası içeren görüntülerle de iyi çalışır. Kod, yukarıdaki ile aynıdır, yalnızca giriş görüntüsü değiştirilmiştir. Ayrıca, görüntüde plakanın bulunduğu alanın piksel koordinatlarını da alabilirsiniz.
Hangi Tür Araba Görüntüleri En İyi Çalışır?

En iyi sonuçlar için, araç görüntülerinizin aşağıdakilere sahip olduğundan emin olun:
- Plakanın net görünürlüğü
- İyi aydınlatma koşulları (parlama veya gölgelerden kaçının)
- Minimal açı sapması
- Yeterli çözünürlük (düşük çözünürlüklü görüntüler için DPI ayarlarını düşünün)
Plaka Konum Koordinatlarını Nasıl Elde Ederim?
: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)
Sonuç Ne Tür Bilgiler İçerir?

Örnek, bir araba görüntüsüne ReadLicensePlate metodunun nasıl uygulanabileceğini gösteriyor. Yöntem, ayrıca görüntüde plakanın bulunduğu yerin dikdörtgen koordinatlarını da döndürecektir.
Bu yöntem yalnızca tek plakaları bulmak için optimize edilmiştir ve stok görüntülerinde arama yapabilir.
Birden Fazla Plakayı Nasıl İşlerim?
Birden fazla araç resmiyle uğraşırken, toplu işlemler kullanarak bunları verimli bir şekilde işleyebilirsiniz:
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
Büyük ölçekli işlem için performansı maksimuma çıkarmak amacıyla çoklu iş parçacığı kapasitesini uygulamayı düşünün.
Plaka Tanıma Doğruluğunu Nasıl İyileştiririm?
Plaka tespitinin doğruluğunu arttırmak için şu optimizasyon tekniklerini dikkate alın:
Görüntü Ön İşleme Filtrelerini Uygula
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
Girdi görüntülerinizi optimize etmek için mevcut görüntü filtreleri ve görüntü düzeltme tekniklerini öğrenin.
Farklı Aydınlatma Koşullarıyla Baş Et
Zorlayıcı aydınlatma senaryoları için uygun düzeltmeler uygulayın:
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
OCR Performansını Nasıl İzlerim?
Büyük plaka partilerini işlerken, ilerlemesini izlemek sistem kaynaklarını yönetmeye yardımcı olur:
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
Detaylı performans izleme için, IronOCR'deki ilerleme izleme özelliklerini keşfedin.
Bu Diğer Belge Okumayla Nasıl Karşılaştırılır?
IronOCR'nin özelleşmiş belge okuma yetenekleri plaka okumayı aşar. Plaka tespitini destekleyen bilgisayar görüşü teknolojisi şunlar için uygulanabilir:
- Seyahat ve kimlik doğrulama için pasaport okuma
- Bankacılık uygulamaları için MICR çek işleme
- Dijitalleşme projeleri için Genel belge tarama
Genel Kullanım Senaryoları Nelerdir?
IronOCR ile plaka tanıma çeşitli uygulamalara imkan tanır:
- Otopark Yönetimi: Giriş/çıkış kaydı ve ödeme işlem sürecini otomatikleştirin
- Geçiş Ücreti Tahsilatı: Geçiş noktalarında araç tanımını hızlandırın
- Güvenlik Gözetimi: Kısıtlı alanlarda araç hareketlerini takip edin
- Filo Yönetimi: Şirket araçlarını ve lojistiği izleyin
- Hukuk Uygulayıcıları: İlgili araçları hızlıca belirleyin
Her kullanım senaryosu IronOCR'nin yüksek doğruluğu ve gerçek zamanlı uygulamalar için resim işlemenin uygunluğundan faydalanır.
Sıkça Sorulan Sorular
C#’ta görsellerden plaka okumasını nasıl yaparım?
IronOCR'un ReadLicensePlate yöntemini kullanarak C#’ta plaka okuyabilirsiniz. Bir IronTesseract örneği oluşturup plaka görselinizle bir OcrInput içeren ReadLicensePlate'i çağırın. Yöntem, çıkarılan plaka metni ve güven skoru içeren bir OcrLicensePlateResult döndürür.
Plaka tanıma için hangi paketi yüklemem gerekiyor?
IronOCR'un plaka tanıma işlevini kullanmak için hem ana IronOCR paketini hem de NuGet'ten IronOcr.Extension.AdvancedScan paketini yüklemelisiniz. AdvancedScan uzantısı özel ReadLicensePlate metodunu saglar.
Tek satirda plaka ayiklayabilir miyim?
Evet, IronOCR, plaka metnini tek bir satirla ayıklamanıza olanak tanır: OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg")); Bu hemen plaka numarası ve güven skorunu döndürür.
Plaka tanıma için hangi diller destekleniyor?
IronOCR'un ReadLicensePlate metodu şu anda Ingilizce, Cince, Japonca, Korece ve Latin alfabe yazı plaka numaralarını destekler. Yöntem, bu karakter setleri için özellikle optimize edilmiştir.
Plaka okuma doğruluğunu nasıl artırabilirim?
IronOCR'da doğruluğu arttırmak için plakalarda gorunen belirli karakterleri beyaz listeye ekleyebilir, görselin baslık ve altbilgi icermeyen sadece plakayı içerdiginden emin olabilir ve yüksek kaliteli görseller kullanabilirsiniz. ReadLicensePlate metodu zaten plaka tanıma için özellikle optimize edilmiştir.
Plaka tanıma için .NET Framework'de sistem gereksinimleri nelerdir?
IronOCR'un ReadLicensePlate özelliği de dahil olmak uzere gelişmiş tarama özelliklerini .NET Framework'de kullanırken, projenizin x64 mimarisinde çalışması gerekir. Bu gereklilik, plaka tanıma işlevi için optimal performans sağlamak içindir.
Plaka tanıma ne bilgileri döndürür?
IronOCR'un ReadLicensePlate metodu, çıkarılan plaka metni ve bir güven skoru içeren bir OcrLicensePlateResult nesnesi döndürür. Bu, plaka numarasını almanızı ve OCR sonucunun guvenilirligini degerlendirmenizi saglar.

