IRONSOFTWAREHOME
IRONOCR KULLANIMI

C#'da Plaka OCR Nasıl Yapılır (Eğitim)

Curtis Chau
Curtis Chau
Updated: 18 Ocak 2026

Trafik yönetimi ve park sistemlerinden kolluk kuvvetleri ve ücretli geçiş çözümlerine kadar birçok sektörde, plaka tanıma vazgeçilmez bir araç haline geldi. Optik Karakter Tanıma (OCR) teknolojisinden faydalanarak, geliştiriciler görüntülerden metinleri etkili bir şekilde çıkarabilir, plaka tanıma sürecini otomatikleştirebilirler. Bu eğitimde, IronOCR, güçlü bir C# OCR kütüphanesi, kullanarak görüntülerden plakaları hassas bir şekilde okuyabileceğinizi göstereceğiz. Bilgisayarla görme görevleri için OpenCV kaynak kodu ile sorunsuz entegrasyonu sayesinde, IronOCR karmaşık veya gürültülü görüntü kaynaklarından bile metin tanımanın sağlam bir çözümünü sunar. Temiz bir plaka görüntüsüyle veya tam bir araç fotoğrafıyla çalışıyor olsanız da, bu kılavuz size modern OCR tekniklerini kullanarak güvenilir bir plaka tanıma sistemi oluşturma adımlarını gösterecek.

Plaka Tanıma C# Nasıl Kullanılır

  1. Plaka tanıma kullanımı için C# Kütüphanesini kurun
  2. Araç plakası resmini yeni bir OcrImageInput örneğine aktarın.
  3. C#'ta metin çıkarma işlemini iyileştirmek için görüntü filtreleri uygulayın.
  4. Fotoğraftaki plaka bölgesini belirterek tanıma hızını artırın.
  5. Çıkarılan metni bir OcrLicensePlateResult örneği kullanarak yazdırın.

IronOCR ile Başlarken

IronOCR, Tesseract OCR motoru üzerine inşa edilmiş bir C# OCR kütüphanesidir ve .NET uygulamalarında metin tanıma projelerine yüksek doğruluk ve verimlilik getirmek üzere tasarlanmıştır. Gürültülü veya düşük kaliteli görüntülerle başa çıkmak için ideal olan IronOCR, otomatik gürültü azaltma ve gri tonlama dönüşümü gibi güçlü görüntü ön işleme yetenekleri içerir ve metin çıkarma netliğini artırır.

IronOCR'un öne çıkan özelliklerinden bazıları:

  • Yüksek OCR Doğruluğu: Çeşitli diller ve yazı tipleri için optimize edilmiştir, IronOCR karmaşık veya bozulmuş metinlerle çalışırken bile yüksek doğruluk sağlar.
  • Görüntü ve PDF Desteği: Çeşitli görüntü formatlarından ve PDF dosyalarından metin okuyabilir, bu da farklı belge türleri için çok yönlü olmasını sağlar.
  • OpenCV ile Entegrasyon: OpenCV desteği sayesinde, IronOCR belirli metin bölgelerini görüntüde tespit etme gibi bilgisayarla görme görevlerini gerçekleştirebilir, bu da plaka tanıma için özellikle kullanışlıdır.
  • Gelişmiş Ön İşleme: Gri tonlama dönüşümü, döndürme, eğiklik giderme ve kontrast artırma için filtreler içerir, bunlar tanıma kalitesini artırmaya yardımcı olur.
  • Esnek Giriş Seçenekleri: Çok sayfalı belgeleri ve ayarlanabilir bölgeleri destekler, geliştiricilere daha hızlı ve daha hedeflenmiş sonuçlar için belirlenen alanlarda OCR işlemine odaklanmasına olanak tanır.

Bu yeteneklerle, IronOCR, diğer bilgisayarlı görüş araçlarıyla entegrasyonda doğruluk, esneklik ve kolaylık arayan OCR uygulamaları oluşturmak için güçlü bir çözümdür.

Bir Visual Studio Projesi Oluşturun

Visual Studio'yu açıp "Yeni Bir Proje Oluştur"u seçerek başlayın. Bu, sizin (bizim durumumuzda, bir Konsol Uygulaması oluşturacağız) hangi tür projeyi oluşturmak istediğinizi seçebileceğiniz bir sayfaya götürecek. İstediğiniz uygulama türünü seçin ve "İleri"ye tıklayın.

Visual Studio Proje Türü

Şimdi, projenize bir isim verin ve kaydedileceği yeri seçin.

Proje Adı ve Konumu

Son olarak, hedef .NET çerçevenizi seçin ve "Oluştur" düğmesine tıklayın. Bu aşağıda gösterildiği gibi projeyi oluşturacaktır.

Oluşturulan Proje

Bir sonraki adım, plaka işlemi başlatabilmemiz için IronOCR kütüphanesini kurmaktır.

IronOCR'un Kurulumu

C# projenizde IronOCR ile başlamak için, NuGet'ten IronOCR paketini yüklemeniz gerekecek. IronOCR, .NET Framework ve .NET Core ile uyumludur, böylece çeşitli .NET uygulamalarına kolayca entegre edilebilir.

1. Adım: Paket Yöneticisi Konsolunu Açın

Visual Studio'da, Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu yolunu takip edin.

2. Adım: IronOCR Paketini Kurun

Paket Yöneticisi Konsoluna aşağıdaki komutu girin:

PM > Install-Package IronOcr

Bu komut, projenizde OCR işlevlerini çalıştırmak için gereken tüm bağımlılıklarla birlikte IronOCR kütüphanesini kurar. Uygulamamız, bilgisayarlı görüş kullanarak plaka tespiti gibi gelişmiş özellikler gerektirdiğinden, isteğe bağlı IronOcr.ComputerVision.Windows paketini de bu şekilde kurabilirsiniz:

PM > Install-Package IronOcr.ComputerVision.Windows

IronOcr.Extensions.AdvancedScan uzantısının kurulu olduğundan emin olun, böylece güçlü ReadLicensePlate yönteminden yararlanabilirsiniz:

PM > Install-Package IronOcr.Extensions.AdvancedScan

Alternatif olarak, ihtiyacınız olan paketleri aramak için Araçlar > NuGet Paket Yöneticisi > Çözüm İçin NuGet Paketlerini Yönet seçeneğini kullanarak paketleri kurabilirsiniz:

NuGet Paket Yöneticisi

Kodu Ayarlama

Son olarak, kodumuzun başına gerekli ilave ve using ifadelerini eklemeliyiz:

using IronOcr;

Optik Karakter Tanıma ile Plakaları Okuma

Bu bölümde, IronOCR, Tesseract OCR Motoru, kullanarak plaka okumak için bir program oluşturacağız. Araç tespiti uygulamak için ayrıca makine öğrenimi kütüphanelerini de dahil edebiliriz. Özellikle, IronOCR, açık kaynaklı lider bilgisayarla görme kütüphanesi OpenCV ile entegre olup, araç ve plaka gibi nesneleri tespit etme görevlerini yerine getirmemize olanak sağlar.

Örnek Plaka Görüntüsü

Aşağıdaki plaka ile çalışacağız:

Plaka Örneği

Plakaya OCR Uygulamak için Örnek Kod

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrImageInput("licensePlate.jpeg"))
{
    // Fixes digital noise and makes the image easier to read
    input.DeNoise();
    input.ToGrayScale();

    // Reads the license plate information and stores it for further use
    OcrLicensePlateResult result = ocr.ReadLicensePlate(input);

    // Saves the license plate text to a string variable
    string output = result.Text;

    // Outputs the license plate text to the console
    Console.WriteLine(output);
}

OCR Çıkışı

Kod Açıklaması:

  • Başlatma: var ocr = new IronTesseract();, Optik Karakter Tanıma (OCR) için yöntemler sağlayan IronTesseract sınıfının yeni bir örneğini oluşturur.

  • Görüntü Girişi: using ifadesi, belirtilen resim dosyası ile yeni bir OcrImageInput nesnesi oluşturur "licensePlate.jpeg". Bu nesne, OCR işlemi için görüntü verilerini tutmak üzere tasarlanmıştır.

  • Görüntü Ön İşleme:

    • input.DeNoise();, görüntü kalitesini artırmak için dijital bir gürültü azaltma filtresi uygular ve OCR motorunun metni okumasını kolaylaştırır.
    • input.ToGrayScale();, tanıma doğruluğunu ve işlem hızını artırabilecek şekilde görüntüyü gri tonlamalıya dönüştürür.
  • Plaka Tanıma: OcrLicensePlateResult result = ocr.ReadLicensePlate(input); satırı, işlenmiş görüntüyü analiz etmek ve tespit ettiği herhangi bir plaka bilgisini çıkarmak için ReadLicensePlate yöntemini kullanır ve sonuçları bir OcrLicensePlateResult nesnesinde saklar.

  • Çıktı Depolama: Plaka metni, plakadaki tanınan metni içeren result.Text'e erişilerek output dizesi değişkeninde saklanır.

  • Konsol Çıkışı: Son olarak, Console.WriteLine(output); çıkarılan plaka metnini doğrulama için konsola yazdırır.

Bir Arabadan Plaka Numaralarını Tarama

Sadece plaka yerine tüm arabanın bir görüntüsüne sahipsek, plaka alanına odaklanmak için dikdörtgen bir bölge belirtebiliriz. Bu alanı piksel olarak tanımlamak için System.Drawing.Rectangle kullanabiliriz.

Orijinal Görüntü

Örneğimiz için aşağıdaki görüntü dosyasını kullanacağız:

Plakalı Araba

İlgili bölgeyi belirterek, işlem hızını artırır ve gereksiz metin çıkarmayı önleriz.

Uygulama Kodu

using IronOcr;
using System.Drawing;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    var contentArea = new Rectangle(x: 252, y: 282, width: 148, height: 47);
    input.LoadImage("CarPlate.jpeg", contentArea);
    OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
    Console.WriteLine(result.Text);
}

Odaklanılmış OCR Çıkışı

Kod Açıklaması:

  • Başlatma: var ocr = new IronTesseract();, OCR işlemlerini yürütmekten sorumlu olan IronTesseract sınıfının yeni bir örneğini oluşturur.
  • OCR Girişi: using (var input = new OcrInput()) ifadesi, OCR için görüntüyü yüklemek ve işlemek amacıyla kullanılacak yeni bir OcrInput nesnesi oluşturur.
  • İlgi Alanını Tanımlama: var contentArea = new Rectangle(x: 252, y: 282, width: 148, height: 47);, görüntü içinde dikdörtgen bir alan (contentArea) tanımlar. Bu dikdörtgen, plakanın bulunması beklenen koordinat ve boyutları (genişlik ve yükseklik) belirtir.
  • Görüntüyü Yükleme: input.LoadImage("CarPlate.jpeg", contentArea); belirtilen resim dosyasını ("CarPlate.jpeg") yükler ve tanımlanan dikdörtgen (contentArea) üzerinde odaklanarak OCR işlemine sınırlı bir alan getirir.
  • Plakayı Okuma: OcrLicensePlateResult result = ocr.ReadLicensePlate(input);, giriş görüntüsünü plaka karakterleri için analiz etmek ve çıkarılan metni içeren bir OcrLicensePlateResult nesnesi döndürmek üzere ReadLicensePlate yöntemini çağırır.
  • Çıktı: Console.WriteLine(result.Text);, plakadan tanınan metni konsola yazdırır.

Otomatik Plaka Tanıma

IronOCR, çeşitli görüntü işleme teknikleri kullanarak görüntüdeki metin bölgelerini tespit etmek için OpenCV'den yararlanır. Bu işlevsellik sayesinde, programlar görüntüdeki metin bölgelerini tespit edip, ardından bu bölgeleri okumak için Tesseract'ı kullanarak plakaları tespit edebilir.

Kurulum

Plaka tespit modelini etkinleştirmek için gerekli paketi, Paket Yöneticisi Konsolu aracılığıyla yükleyin:

Plakalar için otomatik bölge tespitini kullanma örneği:

var ocr = new IronTesseract();

using (var input = new OcrImageInput("CarPlate.jpeg"))
{
    input.FindTextRegion();
    OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
    Console.WriteLine(result.Text);
}

Otomatik OCR Çıkışı

Kod Açıklaması:

  • Başlatma: Tesseract motoru ile optik karakter tanıma (OCR) için kullanılacak IronTesseract sınıfının bir örneği oluşturulur.
  • Görüntü Girişi: Belirtilen resim dosyası ("CarPlate.jpeg") ile yeni bir OcrImageInput nesnesi başlatılır. Bu nesne, OCR sürecine giriş olarak hizmet edecek ve doğru kaynak yönetimini sağlamak için bir using ifadesine kapatılmıştır.
  • Metin Bölgesi Algılama: FindTextRegion() yöntemi, input nesnesinde çağrılır. Bu yöntem, bilgisayarlı görüş tekniklerini kullanarak özellikle plaka hedeflenen metin içeren alanları otomatik olarak tespit eder.
  • Plaka Tanıma: ReadLicensePlate yöntemi, algılanan metin bölgelerini analiz etmek ve plaka numarasını çıkarmak için çağrılır. Sonuç, tanınan metni ve ilgili herhangi bir metaveriyi içeren bir OcrLicensePlateResult nesnesinde saklanır.
  • Çıktı: Tespit edilen plaka metni konsolda yazdırılır, kullanıcıya çıkarılan plaka numarasını görme olanağı sunar.

IronOCR Lisanslama

IronOCR'u kendiniz denemek isteyenler için, IronOCR tüm araç yelpazesine erişim sağlayan bir ücretsiz deneme sunuyor, böylece lisans satın almadan önce kendi projelerinizde deneyebilirsiniz. Ücretsiz deneme süreniz dolduğunda, IronOCR lisansı, sadece $999'den başlayan lite lisansı ile başlar. Ayrıca, telif ücretsiz yeniden dağıtım kapsamı, kesintisiz destek ve sürekli ürün güncellemeleri gibi ek bir maliyet karşılığında isteğe bağlı eklentiler sağlar.

Bunun ötesinde, sadece IronOCR dışında daha fazla Iron Software ürünü kullanmanız gerekirse, PDF ile ilgili görevleriniz için IronPDF veya Word belgeleri ile çalışmak için IronWord gibi, Iron Software ayrıca Iron Suite sunar, bu da tüm araç yelpazesine uygun bir fiyatla erişim sağlamanın harika bir yoludur.

Sonuç

Bu kılavuzda, C# kullanarak güçlü bir IronOCR kullanarak güvenilir bir plaka tanıma sistemi kurmayı araştırdık. Güçlü metin çıkarma yetenekleri ve OpenCV ile entegrasyonu sayesinde IronOCR, araç görüntülerinden doğru metin tanıma gerektiren uygulamalar için verimli ve kullanımı kolay bir çözüm sunar. Görüntüyü ön işlemekten belirli tespit bölgelerini ayarlamaya kadar, IronOCR, trafik ve gözetim görüntüleri gibi gürültülü veya karmaşık görüntüler için özelleştirilmiş araçlarla OCR sürecini basitleştirir.

Trafik izleme, park uygulama veya otomatik plaka tanıma gerektiren herhangi bir uygulama geliştiriyorsanız, IronOCR, .NET ortamlarına sorunsuz bir şekilde entegre olan kapsamlı bir kütüphane sunar. Bu adımları takip ederek, çeşitli gerçek dünya senaryolarında verimliliği ve doğruluğu artıran OCR destekli çözümleri dağıtmaya hazırsınız. Bölge seçimi ve gürültü azaltma gibi ek özelliklerle, IronOCR, plaka tanıma görevlerinizin en iyi sonuçlar için optimize edilmesini sağlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez