Kütüphane: | GaborFiltresi.dll |
Son sürüm: | 1.1.0.0 |
Örneklenen diller: | VB6, C#, VB.NET |
Dosya: | tıklayınız |
İlgili bağlantılar: Gabor Filtresi, Araç Plakası Konum Tespiti
GaborFiltresi.dll, verilen bir giriş dizisini, girilen parametreler ile oluşturduğu gabor filtresinden geçirir ve sonuç dizisine atar.
Bir önceki yazıda, döndürme açısından ve yönünden bahsetmiştim. Kütüphaneyi yazarken, saat yönünde döndürme yaptırmayı tercih ettim. Çünkü bir resimde, +x sağ, +y aşağı yönlüdür. Ayrıca kütüphanedeki fonksiyon, yönelim açısına 90 ekledikten sonra onu işleme koyar. Böylece açı 0 verildiğinde, x eksenine paralele ayrıtlar tespit edilir.
Gabor filtresinin ne işe yaradığına dair iyi bir örnek olacağını düşündüğüm için açı değerleri ölçülü olan bir 3-4-5 üçgeni çizdim. Gabor filtresi yardımıyla üçgenin her bir ayrıtını ayrı ayrı tespit edebilir ve parametrelerdeki değişimlerin filtreli görüntüye etkilerini inceleyebilirsiniz...
Genelde görüntüler 2 boyutlu diziler içerisinde tutulur. Uyumluluk konusunda probleme sebep olmaması için kütüphane, tek boyutlu bir dizi alır ve bu diziyi 2 boyutluymuş gibi işler. Bu yüzden kütüphaneye gönderilecek dizinin aynı şekilde doldurulması ve okunması gerekir. Mantık basit; görüntü matrisinde her bir satır(y) işlenip geçildiğinde, tek boyutlu dizinin satir*genişlik kadar elemanı doldurulmuş olur. Satır içinde ilerlenirken bu değere bir de o an içinde bulunulan satırdaki konum eklenir. Yani; tekboyutlu(y*Genişlik+x)=ikiboyutlu(x,y) ...
void GaborFiltresi( int yonelimAcisi, // Yönelim açısı int fazAcisi, // Cosinus çarpanının faz açısı float enBoyOrani, // Gaussian eğrisinin genişliğinin yüksekliğine oranı float bandGenisligi, // Frekans bandı genişliği float standartSapma, // Gaussian çarpanının standart sapması int dalgaBoyu, // Pixel cinsinden dalga boyu byte *resimVerisi, // İşlenecek pixel dizisi int resimGenisligi, // İşlencek resmin genişliği int resimYuksekligi // İşlenecek resmin yüksekliği ) { ... }
Gabor filtresi ve parametreler ile ilgili daha fazla bilgi için Gabor Filtresi isimli yazıyı okuyabilirsiniz...
Hocam sizin kütüphanenizi indirdim kendi projemde kullanmak üzere ancak fonksiyona gelince System.BadImageFormatException hatası alıyorum neden acaba bir fikir verebilir misiniz ?
Çalıştırılabilir dosyanızı 32-bit olarak derlemeniz gerekiyor. Bu hata genelde, çalıştırılabilir dosya farklı bir mimari için derlenmiş bir kütüphaneyi kullanmaya çalıştığında çıkan bir hata.
merhaba hocam sizin projenizden yararlanarak bir plaka tespit programı yapmaya çalışıyorum. Plaka bölgesini kesip aldım ama ama rakamlardan harici olarak plakanın siyah noktaları da var onları temizlemem lazım ama bir c# dökümanı buladım bana yardımcı olabilir misiniz isterseniz projeyi size göderebilirim.
Bu kütüphanede bununla ilgili bir işlev yok. Siyah noktaları doğru anladıysam bunun için görüntülerde açma kapama işlemlerini araştırabilirsiniz.