Çarşamba, Temmuz 23, 2008

OpenCv GUI Tool ön çalışması


Genel bir Yapay Zeka sisteminin olmadığını dolayısıyla Genel bir Bilgisayarlı Görü (Computer Vision ) sistemide yok. Bu yüzden Bilgisayarlı Görü uygulamaları için uygulamaya has ön işlemler yapmak gerekiyor. bakınız ( Bakan Bilgisayar - Gören Bilgisayar )

Bir örnek verirsek daha iyi anlaşılacak sanırım. Mesela Türkiyedeki pek çok kişi gibi sizde plaka tanıma üzerine ödev aldınız.* En baştaki probleminiz, plakanın konumunu tespit etmek olacaktır. "Görüntü üzerinde ne gibi ön işlemler yapalım ki plaka konumu ortaya çıksın" diye
pek çok deneme yapmanız gerekir. Yani program yazacaksınız, derleyeceksiniz, görüntü üzerinde test edeceksiniz, olmadı en başa dönüp başka bir şey deneyeceksiniz. Epey zahmetli ve vakit alan bir süreç.

İşte yukarıda görmüş olduğunuz programın amacı bu işlemi, yani Görüntü ön işlemesini kolaylaştırmak. Bu programla Görüntü üzerinde OpenCv nin imkanlarıyla yapabileceğiniz pek çok işlemi uygulayabileceksiniz hatta sonuçta baz alıp kullanabileceğiniz kod da olacak !

Başlıktanda anladığınız gibi bu program bir ön çalışma. Eklenecek pekçok şey var. ( Kenar bulma metodları , Aritmetik işlemler, Mantıksal İşlemler, ... ) Fırsat buldukça geliştirmeye devam da ediyorum. Denemek istiyenler buradan buyursun
Download : cvPreProcessor
Deneyeceklerden şöyle bir kaç ricam olacak,
Kargaya yavrusu şahin görünürmüş bana göre faydalı bir program , Acaba size görede öylemi ?
Aklınıza gelen eklenmesini istediğiniz özellikler var mı ?
Programda gözünüze çarpan hatalar var mı ?

Bildirebilirseniz seviniriz

* Yeri gelmişken Açık kaynak kodlu Plaka Okuma programından bahsedelim
JavaANPR adından da anlaşılacağı gibi Javayla yazılmış. İlgisi olan baksın, için de tez de var, neyin nasıl yapıldığını çok güzel anlatıyor, duyrulur...

4 yorum:

ahmeTT dedi ki...

Öncelikle yazı ve program için teşekkür ederim.
Karga yavrusu meselesine gelince, görüntü işleme ile ilgili konularda yapay zeka uygulamalrı geliştiren bir çok kişi için bu hazırladığınız program asıl konuya odaklanmaları için temel sağlayacaktır. Bu sayede direk olarak hedefe ulaşım amerikayı tekrar keşfetmelerine gerek kalmayacak :)
Elinize sağlık, kolay gelsin.

yagi dedi ki...

Güzel bir çalışma. Böyle bir GUI var mı diye benim de aklımdan geçiyordu zaman zaman. Sonradan bazı gerekli olan teknikleri fonksiyonlar haline getirip bir yere depolamayı tercih ettim.

Şu adresteki http://www.codeproject.com/KB/GDI-plus/Image_Processing_Lab.aspx arkadaşın programı da benzer bir mantıkla yazılmış. .net kullanıyor ancak açık kaynak kodlu ve çeşitli DIP tekniklerini içeriyor. Aynı arkadaşın şöyle açık kodlu kütüphanesi de var. http://code.google.com/p/aforge/

Sizin de planınızdadır muhtemelen Opencv GUI a, tresholding, histogram istatistikleri, çeşitli çok kullanılan smoothing, sharpening vs. convolution filtreleri ve hatta connected component labeling kolaylıkla eklenebilir sanırım.

Ayrıca programın kod üretmesi çok hoş olmuş.

İyi çalışmalar...

bluekid dedi ki...

Öncelikle Bende yorumlarınız için teşekkür edeyim.
ahmett dediği gibi asıl amaç asıl konuya odaklanmak
ama İnsanların çoğu yagi yaptığı gibi kod bankası oluşturuyorlar. tabii bu programın yazım aşamasını hızlandırıyor. ama yinede her deneme için değişiklik yapıp derleyip çalıştırıp sonuca bakmak lazım geliyor. yani vakit kaybı
yaginin bahsettiği çalışmadan Volkan sayesinde haberim olmuştu. Kod üretmesi ve OpenCv kullanması benimkinin farkı

Yagi yaptığın öneriler için ayriyeten teşekkürler.

Adsız dedi ki...

Metini duydum, su programi indirip bir test edeyim. Daha sonra bir yorum da bulunurum.