Çarşamba, Mart 05, 2014

Zihin Egzersizleri 2


Evet Yeni bir zihin egzersizi ile yine karşınızdayız.
Geçenlerde arabamızla yolda kaldık epey yüklü bir miktar tamir ücreti vermek zorunda kaldık. Tamir için gittiğimiz usta Motorun sesinde değişiklik olacağından ve farkına varabilseymişim yolda kalmadan  tamiratı daha ucuza getirebileceğimizden bahsetti. Malesef bende bu farkı anlayabilecek tecrübe yok. Bu yazımızın konusuda burdan çıkıyor. Gerçekten konusunda tecrübeli ustalar motorun sesindeki değişikliklerden muhtemel arıza belirtilerini hissedebiliyorlarsa, Niçin benzeri bir arıza tespit sistemi yapılmasın ?


Pazar, Şubat 09, 2014

Qt ile OpenCv kullanmak 2

Geçen yazımızda OpenCv kütüphanesini derlemiştik. Derleme sonucu OpenCv dll dosyaları ve bu dll leri çağırabilmeniz için kendi programlarınıza link etmeniz gereken kütüphane dosyaları. Kütüphane dosyalrının uzantısı mingw ile derlediğimizden "*.a " dır.

Yazdığımız programın çalışabilmesi için OpenCv dll lerinin ulaşılabilir olması gerekir. Yani ya programımızla birlikte yan yana yada İşletimsisteminin yol tanımı - PATH- olan dizinlerinden birinde olması lazım.

Bu işlem için
  • Denetim Masası 
  • Gelişmiş Sistem Ayarları
  • Ortam Değişkenleri
  • "PATH " ı seçip düzenleye basın
  • Gelen satrın sonuna ";" yazıp kendi derlediğiniz yerin adresini yazın
  • Benin bilgisayarım için "C:\opencv-2.4.8\opencv\build\bin"

 Şimdi  Qt Creator' u açıp yeni bir Proje dosyası oluşturalım

Pazar, Şubat 02, 2014

Qt ile OpenCv kullanmak 1


Qt özellikle açık kaynak kodlu çevrelerde oldukça iyi bilinen cross-platform bir kütüphaneler gurubudur. Artık birde Qt Creator diye bir IDE yede sahipdir. Fazla detaya girmeyeceğim ,hem ticari desteği olan hemde ücretsiz kullanabileceğinizi söyleyip konumuza geçmek istiyorum.

Öncelikle Qt yi indrip kurmamız gerekiyor
qt-project.org/downloads
adresinden Qt nin güncel versiyonlarına değişik işletim sistemleri için ulaşmanız mümkün.
ben kendi bilgisayarım için
Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB)
bu dosyayı indirdim ve kurdum - kurarken derleyiciysiyle - Mingw 4.8  - birlikte kurdurdum.


 OpenCv nin de güncel sürümü şu anda 2.4.8 bunuda indirip Hard diskinize açın
Bu versiyonda mingw için derlenmiş bir kütüphane yok bu yüzden mecbur OpenCv yi derlememiz gerkiyor.  - Mingw nin değişik versiyonları arasında da uymusuzluklar olabiliyor derlemek daha doğru olabiliyor çoğu zaman - Derlemek için CMake'inde kurulu olması gerektiğini hatırlatırım...

QtCreator'u açın File -> Open File or Project den OpenCv nin source dizininzden "CMakeLists.txt"  açarsanız karşınıza CMake wizard çıkacak. Wizard işini bitirdiğinde

Qt Creator üzerinden OpenCv build edebilirsiniz

 Yukardaki işlemleri başarıyla tamamlamışsanız ikinci aşamaya geçebiliriz, tabii bir sonraki yazımızda....



Pazartesi, Ocak 27, 2014

Ordan Burdan Haberler

Çok istesemde aklımda şunuda yazsam bunuda yazsam diye bir şeyler kursamda, artık eskisi gibi yazamıyorum. İhtiyarladım mı  ne

Lafı uzatmadan biriken haberlerden bahsedeyim

1) FannTool 'un sitesinde yazılar yayınlamaya devam ediyoruz. Bu kez kısmetinizde dış kaynaklı makaleler var. Detaylara linklereden ulaşabilirsiniz şu kadarnı söyleyeyim çok değişik alanlarda YSA uygulamaları anlatılıyor.
2)  OpenCv çok hızlı bir şekilde ilerlemeye devam ediyor nerdeyse yayınladıklar versiyon güncellemelerine yetişemiyoruz. Hali hazırdaki versiyon OpenCv 2.4.8 ne gibi yenilikler var  derseniz. Benim dikkatimi çekenler ;
  • CUDA desteği gelişmeleri devam ediyor
  • Android desteği artık yerleşti, Bu versiyon Android 4.4 de destekliyor.
  • OpenCL desteği konusunda da gelişmeler devam ediyor
daha fazla detay için buraya bakınız

3) OpenCv kousundaki bir gelişmede OpenCv nin NaCl ve PNaCl ye port edilmesi. İşin detayını bende pek bilmiyorum ama anlaşılan o ki yazdığımız program Google Chorme üzerinde bulunduğu işletim sistemi ve donanımdan bağımsız olarak çalıştırılabilecek.  Ne diyeyim güzel imkan.

4) Internet de Yayınlanan derslerden daha önce de bahsetmiştim. Bu yayınlar çok çeşitlendi. Ben bir tanesinden bahsetmek istiyorum.  Santa Fe Enistüsü'nün www.complexityexplorer.org sitesinde dinamik sistemler ve Kaos üzerine verdiği giriş niteliğindeki kurs
Introduction to Dynamical Systems and Chaos 
Dersler yeni başladı sayılır bekleriz...

Şimdilik bu kadar....


Pazartesi, Aralık 30, 2013

Zihin Egzersizleri 1

 "Ülkemiz  eğitim sisteminde, özellikle mühendislik eğitiminde çok fazla sayıda formül ve matematik ifadelere yer verilmektedir. Bunların çıkarılmalarındaki temel düşünce  ve mantık kurallarına ağırlık  verilmediği için , mühendislik eğitimi  sanki bir formüller dizisini  bilme ve uygulama kalıplarına oturtulmuş olarak görülmektedir. Halbuki her formül bir modeldir" 

Bu yazımızda zihin egzersizi olarak modelleme yapacağız. Pratikdeki bir konudan nasıl uygulama yapabileceğimizi öğreneceğiz. Belkide kimbilir size başka alanlardaki uygulamalar için ilham da vermiş oluruz.

Diyelimki ; bizim bir Emlak web sitemiz var ziyaretçilerimize satılık ev ilanlarını daha zeki şekilde aktarmak istiyoruz. Mesela ev fiyatlarını kelepir, ucuz, normal, pahalı , çok pahalı olarak etiketleyebildiğimizi düşünün.


Pazar, Aralık 08, 2013

YSA Büyü Değildir...


Yapay Sinir Ağlları hakkında böyle bir zannediş var. Pek çok kişi "YSA büyü gibi uçuk bir konu ona yanaşmamak lazım" düşüncesinde olup pek yanaşmıyorlar. diğer bir kısım kişilerde  büyünün cazibesiyle yanaşıyorlar ve olmayacak şeyleri başarabilecek bir şey zannıyla giriştikleri çalışmadan hüsranla çıkıyorlar.

Gerek Yapay Sinir Ağları ve gerekse diğer Yapay Öğrenme Metodları - Machine Learning Algorithms- büyülü şeyler değildir.  Çekinmeden ve Sihirli Lamba beklentisine kapılmadan  kullanmaya başlamalısınız.

Pazar, Ağustos 18, 2013

Hareketli Kameradan Hareketli Nesne Tespiti


Moving Object Detection from Moving Camera from bluekid on Vimeo.
Şöyle bir bakıyorumda epeydir bir şey yazmamışım. Aslında uzun boylu ne oldu bu adama diyen de yok ama, Yinede bugünlerdeki meşguliyetimden bahsetmek istiyorum.

Hareketli Nesne Tespiti  sabit bir kameradan nispeten kolay kavram. keza OpenCv nin konuyla ilgili epey gelişkin fonksiyonları da var. Arkaplan Silme  -Background Subtraction - denen kavram ile  sadece hareket halindeki kısımlar tepit edilebiliyor. Keza vakti zamanında bir kaç örnekde hazırlamıştık.


Bütün bunlar iyi hoşda ya görüntüler hareketli bir araç üzerinden mesela bir IHA dan çekilmişse...
Bu durumda elimizdeki arka plan silme metodları işe yaramıyacaktır. Çünkü Kameranında hareket halinde olması sebebiyle hareketsiz olan arkaplanda kameraya göre hareket halinde görünecektir.