Pazar, Ocak 31, 2010

Plaka Okuma II

Öncelikle tekrar  Plaka Okuma  yazımıza göz atmanızda fayda var

Evet İlk yazımızda belirttiğimiz gibi. Bu tip bir uygulma için elimizde örnek verilerin olması lazım. Bizim öyle bir imkanımız malesef yoktu. Bizde JavaANPR de kullanılan verileri alıp onlar üzerinden bir şeyler hazırlamaya çalıştık. 

Bu veriler ilk aşama için yeterli olsada diğer aşamalar için yetersizdi. mesela Karakter tanıma için ; plakada geçen her harf ve rakam için yeteri sayıda örnek görüntü lazım. Bu durumda işin kolayına kaçıp bulunan plakayı okuması için Optik Karakter Tanyıcı (OCR) programına havale ettik.Pek tabikii bu durumda sistemin başarısı OCR nin başarısına bağlı kaldı... 

Sonuç olarak Otomatik Plaka Okuyucu Sistemi dediğimiz program ortaya çıktı.


Programa aslında C++ ile başlamış olsamda. bur aralar C# pekiştirdiğimizden  C# ile tekrar yazıldı ve tamamlandı. İsmi de bu yüzden OPOSSharp oldu. Pek Tabii ki OpenCvSharp kullanıldı. OCR programı olarak GOCR kullanıldı.
Üzerinde çalışmaya devam etmek gibi bir niyetim yok. Eğer böyle bir niyetim olsaydı ayrı bir proje sayfası açardık.  Unutmadan kodların lisansı GPL ve Projeye devam etmek isteyenler olursa da yardımcı olmaya çalışırız.

Download : İndirmek için

29 yorum:

Ahmet Alp Balkan dedi ki...

süper abi severek takip ediyoruz

Yavuz dedi ki...

Merhaba..bende plaka okuma sistemiyle ilgili bi proje geliştirmek istiyorum.Sizin projenizi indirdim ancak
Load image deyip bi resim seçtiğimde resimde hatayı alıyorum.

http://img254.imageshack.us/img254/4451/hatah.jpg

OpenCvSharp ile daha yeni ilgileniyorum.Bu kütüphaneyi nasıl kullanabilirim.
Sizin projede dll ler ekli olmasına rağmen o hatayı vermesinin sebebi nedir.
Nasıl çözebilirim.
Yardımcı olursanız çok sevinirim.çok makbule geçer.
Şimdiden teşekkürler..

bluekid dedi ki...

Bütün dll leri içermiyor program
hatada dll hatası zaten

Adsız dedi ki...

Gereken dll ler tam değilmis sanırım arkadaş sana zahmet yaptığın projedeki dll lerin hepsini upload edebilirmisin ,bendede yavuzdaki gibi hata veriyor.

bluekid dedi ki...

bahsi geçen dll dosyaları ilgili kütüphanelerin dosyaları
programı derleyebilmek içinde zaten onları kurmanız lazım.

Yavuz dedi ki...

OpenCv 2.1 kurulu şuan pc de ama hala aynı hata mevcut..
Nasıl çözebiliriz. opencv ve opencvsharp ı nası kurmalıyız projeye nasıl ekleyebiliriz dll leri..
ayrıntılı şekilde yardımcı olabilirmisin..

Adsız dedi ki...

Aynen blukid hocam biraz acarmısınız bende beceremedim :( ,opencv 2.0 kurulu c de vs 2008 de kurulu ,hata satırı su:

src = new IplImage(fname, LoadMode.Color);

bu satırda hata alıyorum ,dll hatasından sonra,aynı yavuz daki hatadan sonra yani,hocam bi yardımcı olurmusunuz size zahmet?

Yavuz dedi ki...

Şu gençlerin şevkini kırma abi =)
OpenCv/Sharp kütüphanelerini kullanmayı bize gösteri ver..

bluekid dedi ki...

e-postayla ulaşanlarda söylemiştim vakit bulunca yazamaya çalışacağım inşallah söz. Aman şevkiniz kırılmasın ;)

Adsız dedi ki...

Peki bekliyoruz.buraya bi kere açıklarsan daha sonra böle rahatsız eden olmasın =)
Ama blogunu inceleyince daha seni çok rahatsız edeceğe benziyoruz =)

bluekid dedi ki...

Çekinmeden rahtsız edebilirsiniz bekleriz
Konuyla ilgili yazıyı yayınladım

Mustafa dedi ki...

Merhaba
Öncelikle bilgi ve tecrübelerinizi paylaştığınız için teşekkürler.
Bir kaç sorum vardı
1-CreateStructuringElementEx komutunun parametrelerini nasıl ayarlayacağımızı çözemedim..
2-PreProcess ve FindPlates fonksiyonlarında kullanılan komutları birer cümle ile açıklarsanız sevinirim.
Kolay gelsin...

bluekid dedi ki...

ilginiz için biz teşekkür ederiz
sorduğunuz konular OpenCv nin dökümantasyonunda var, oraya müracaat edin

Adsız dedi ki...

Hocam Bu plaka okuma sistemini c# ile resim üzerinden değilde video üzerinden nasıl yapabiliriz.

bluekid dedi ki...

Biraz gayret ile yapabilirsin elbette
...
fakat ne derece performanslı ( hız bakımından )olur bakmak lazım

Adsız dedi ki...

An exception has occurred because of P/Invoke.
Please check the following:
1. OpenCV's DLL files exist in the same directory as the executable file.
2. Visual C++ Redistributable Package has been installed.
3. The target platform(x86/x64) of OpenCV's DLL files and OpenCvSharp is the same as your project's.


Böyle bir hata alıyorum, verilen programı derlediğimde. Sorun neden kaynaklanıyor, herhangi bir fikir verirseniz çok sevinirim.

bluekid dedi ki...

FAQ kısmına bakın

Mustafa dedi ki...

GOCR kullandığınızı belirtmişsiniz. Ben de plaka okumayla ilgileniyorum şu sıralar ve plaka bölgesinin tespitini gerçekleştirmiş durumdayım. Fakat GOCR ile nasıl okuyacağım. GOCRyi indirebileceğimiz bir adres mevcut mu?

bluekid dedi ki...

google da aratırsanız çıkıyor zaten
detaylı görüşme için e-posta adresim profil kısmında var

kutay dedi ki...

Düşünenlerin kaçta kaçı karşılaşır ve açılır birbirine.. ne kadar güzel birsöz. internet var artık düşünenler daha hızlı bir şekilde karşılaşıyorlar. ama sanal olarak..

Pamuk ipliğinden biraz daha sağlam tek bağ: düşünce birliği. O da rüzgarın her an tehdit ettiği bir kandil. Düşünce birliği, düşünen insanlar arasında olur. İnsanların kaçta kaçı düşünür? Düşünenlerin kaçta kaçı karşılaşır ve açılır birbirine. -- Cemil Meriç

mehmet dedi ki...

An exception has occurred because of P/Invoke.
Please check the following:
1. OpenCV's DLL files exist in the same directory as the executable file.
2. Visual C++ Redistributable Package has been installed.
3. The target platform(x86/x64) of OpenCV's DLL files and OpenCvSharp is the same as your project's.


hatasını veriyor abi lütfen şuna bi çöözüm bul :)

mustafa tekdemir dedi ki...

mehmet dedi ki...
An exception has occurred because of P/Invoke.
Please check the following:
1. OpenCV's DLL files exist in the same directory as the executable file.
2. Visual C++ Redistributable Package has been installed.
3. The target platform(x86/x64) of OpenCV's DLL files and OpenCvSharp is the same as your project's."hatasını veriyor"

arkadaşlar daha koda bakmadım ama benimde yaşadığım bi sorundu kodda C++ kodları var ise C++ kütüphanesini aktif etmek için 2 adet daha dll'e ihtiyaç duyuyordu hatırladığım kadarıyla bunlar cv200.dll ve cxcore200.dll'lerdi umarım doğru cevabı vermişimdir.

bluekid dedi ki...

sorunun cevabını FAQ/SSS kısmında cevapladım oraya bakabilrsiniz

Lord Tiger dedi ki...

Arkadaşlar sorunu çözdüm ÇOk Şükür. Hocamızın izni ile de paylaşmak istiyorum karşımıza çıkan hata da bulunan 2. sırada ki c++ redistirubition'ı kurduğumuz zaman problem çözülüyor sonra visual studioyu yeniden başlatıyoruz ve çalışıyor canavar gibi ben windows 7 işletim sisteminde ve visial studio 2010 sürümde denedim ve çalıştı indirmek isteyen arkadaşlar için de linki verirsem daha sağlıklı bir çözüm yolu olacağına inanıyor öncelikle hocamıza teşekkür ediyor ve herhese başarılar diliyorum ...
link : http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe

serkan dedi ki...

Öncelikle bu faydalı site çok teşekkürler.Bilgisayarıma format attım.en baştan opencv kurulumu bölümünde bulunan işlemleri adım adım yaptım.
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/ linkinden opencv yi kurdum.
ardından http://code.google.com/p/opencvsharp/downloads/detail?name=OpenCvSharp-2.4-x86-20121010.zip

linkinden opencsharpı uygun bir yere açtım.visual sutdio 2010 ile programı açtım.dll dosyalarını ekledim.ancak banada arkadaşlarda verilen dll hatalarını verdi.eksik bir şey olduğu kesin faq kısmınada baktım :)ancak hala aynı hata var.yardımcı olabilecek varsa sevinirim.

bluekid dedi ki...

OpenCvSharp kullanımı üzerine olan yazıya ek yazıldı oraya bakın...

Uğur ŞİRİN dedi ki...

Merhaba, ben sitenizi yeni farkettim. Şimdi inceledim, fakat bir sorum var. Ben WebCam'i kapıya bir bilgisayar ile bağlayıp plaka tanıma yazılımı ile gelen plakaları kaydetmek istiyorum. Bunun için canlı kayıttan plaka seçmem gerek. Bu yazınızdaki kaynak ile onu yapabilir miyim? Yoksa sadece resim çekerek mi bunu yapabilirim ?

bluekid dedi ki...

video da saniyede fps adedince resim demektir
yinede kodun değiştrilmesi düzenlenmesi gerekir

Web-cam den okuma mevzusu için
ilk yazıyı okuyun

can dedi ki...

Merhaba. Kendi projemde plaka bölgesi bulma konusunda sıkıntı yaşıyorum. Sizin projenizde plaka bölgesini dikdörtgen içine alma kısmının başka projelere uyarlanması mümkün mü acaba ?