Araç Plaka Tanıma (C, C++, Java, Python, .NET)

Araç Plaka Tanıma

Araç plakası tanımada ücretli veya ücretsiz olarak kullanabileceğiniz bir çok kütüphane bulunmaktadır. Bu kütüphanelerden bazıları sadece plaka tanıma için özelleştirilmiş bazıları ise dijital görüntü işleme amacıyla geliştirilmiştir. Bu yazıda kullanabileceğiniz kütüphanelere, aynı kategoride devam edecek diğer yazılarda ise bu kütüphanelerin nasıl kullanılacağına bakacağız. Kullanabileceğimiz kütüphaneleri tanımakla başlayalım.

plaka tanıma

  1. OpenCV: Bu kütüphane size doğrudan bir plaka tanıma fonksiyonları veya sınıfları sunmaz, bunun yerine görüntü işlemedeki tüm yaklaşımları ve amacınıza göre kullanabileceğiniz fonksiyonları sunar. Herhangi bir plaka tanıma algoritmasını edinip bu kütüphane yardımıyla C, C++, Java veya Python programlama dilleri ile geliştirebilirsiniz. Platform bağımsızdır.
  2. Matlab: Matlab kendi geliştirme ortamı ve kolay öğrenilebilir yazımı ile popülerliği yüksek bir teknolojidir. Sadece görüntü işleme değiş bir çok iş için özelleştirilmiş binlerce fonksiyon barındırır. Doğrudan bir plaka tanıma fonksiyonu yoktur buda opencv gibi fakat Opencv’den daha kolay bir çok fonksiyon sunar. Linux, Windows ve Mac 64 bit platformlarında çalışır.
  3. Halcon: Ticari bir üründür kendi geliştirme ortamının yanı sıra C++ ve .Net dilleri için dll olarak kütüphanede sunmaktadır. OpenCV ve Matlab gibidir fakat endüstriyel ihtiyaçlara göre hazırlanmış fonksiyonları barındırır.

Yukarıda anlattıklarım görüntü işlemede sıklıkla kullanılan çatılar peki plaka tanıma için özelleştirilmiş bir ortam yok mu? İşte burada aşağıdaki kütüphaneler devreye giriyor.

  1. EmguCV(.NET): C# ve diğer .Net dilleri için OpenCV kullanarak geliştirilmiş bir kütüphanedir. İçerdiği örnekler içerisinde direk olarak plaka tanıma uygulamaları yer almaktadır. Linux, Windows, Mac ve iOS, Android üzerinde çalışmaktadır. Windows dışındaki diğer platformlarda xamarin ve mono sayesinde çalıştırılabilmektedir fakat lisansa tabidir. Örnek uygulamanın kaynak kodlarına bu adresten bakabilirsiniz veya bu adresten EmguCV’yi indirerek kurduğunuz dizindeki examples klasörü içerisindeki  License Plate Recognition projesine bakabilirsiniz. EmguCV hakkındaki diğer yazılarıma ve nasıl kurulduğu hakkındaki video anlatımıma bakmak için buraya göz atabilirsiniz. https://mesutpiskin.com/blog/emgu-cv.html
  2. OpenCvSharp (.NET): Tıpkı EmguCV gibi C# ve diğer .Net dilleri için OpenCV kullanarak geliştirilmiş  bir opencv türevi kütüphanedir fakat ücretsiz açık kaynak koddur. Örnekleri arasında plaka tanıma sistemi yer almaktadır.
  3. JavaANPR (JAVA): Açık kaynak kodlu bir çok kütüphane kullanılarak geliştirilmiştir. Çok fazla güncellenmesede açık kaynak kodlu ücretsiz bir plaka tanıma kütüphanesidir. Türkiye plakalarını tanımada bazı zorluklar olsa da gerekli yapılandırmalar ile rahatlıkla çalıştırılabilir. Kullanımına, örnek kodlara ve daha fazla bilgiye erişmek için bu yazıya göz atabilirsiniz. https://mesutpiskin.com/blog/javaanpr-ile-java-kullanarak-plaka-tanima.html
  4. OpenALPR (JAVA,C++,PYTHON,.NET): Alem buysa kral benim yaklaşımını benimseyen bir kütüphanedir hem sağladığı web servisleri ile online hemde apileri sayesinde offline çalışan bir kütüphane. Açık kaynak kodlu platform bağımsız çoğunlukla ücretsiz (bazı servisleri ücretli) bir kütüphanedir. Araç marka model tespiti (genellikle bilemiyor 🙂 ) renk ve plaka tespiti (%95 başarılı) yapabiliyor. ullanımına, örnek kodlara ve daha fazla bilgiye erişmek için bu yazıya göz atabilirsiniz https://mesutpiskin.com/blog/openalpr-ile-plaka-tanima.html

 

Kütüphaneleri tanıdık daha bir çok kütüphane var burada yazdıklarım kendi denediklerim ve bire bir tecrübe edindiklerimdir. Devam edecek seride en verimlisinden başlayarak hepsi üzerinde örnekler yapacağız.