opencv boogie

28 July 08, Monday @ 15:09

Bu aralar uğraştığım yazılımlardan biri de OpenCV. Kendisi, bilgisayarda görme (computer vision) konusunda bir çok algoritma kodunu barındıran bir kitaplık.

Pardus 2008 de

pisi it opencv
komutuyla kurabilirsiniz. Malesef Python arayüzü ile ilgili sorunlar yüzünden 2007 dağıtımında düzgün çalışmıyor.

Geçenlerde geliştirici listesinde dönen, bluetooth taşıyan kullanıcının sinyal şiddetinden ne kadar uzaklaştığını anlayıp ekranı kilitleyecek araç fikri bana ilham verdi. Şu basit panel programcığını kodladım. Çalıştırdığınızda panele yerleşiyor. Bilgisayarınızı bağlı kamerayı yüzünüze yönlendiriyorsunuz (çoğu laptopta dahili kamera bu şekilde zaten). Eğer 5 saniye boyunca bilgisayar yüzünüzü göremezse ekranı kilitliyor (panel ikonunun griye dönmesinden saymaya başladığını anlayabilirsiniz). Ayrıca birden fazla yüz varsa, derhal birinci desktop'a geçiyor, bu özelliği de patron arkadan bakınca ikinci desktop'ta oynadığınız oyunu saklamak için kullanabilirsiniz :D

Programcık çok cilalanmış değil, bazı değerler hard-coded vb. Fakat KDE, OpenCV ve Python aracılığıyla bir kaç sayfalık kod ile neler yapılabileceğini gösteriyor.

Ufak bir duyuru: Hareketli zeki robotlar konusunda bir gezegen açtık: Chapek9! Konuyla ilgiliyseniz bağlantıyı rss yazılımlarınıza eklemeyi unutmayın :)

Haftanın şekeri ise Johnny Cash ve Louis Armstrong playing in black&white..



Be the first one to comment...

müzeleri gezelim...

22 July 08, Tuesday @ 22:23

Kültür bakanlığının güzel bir hizmeti var, 20 ytl karşılığında alabileceğiniz MüzeKart sayesinde bakanlığa bağlı tüm müze ve ören yerlerini bir sene boyunca bedavaya gezebiliyorsunuz. Çok sık gezmiyorsanız bile oldukça hesaplı. Bir incelemenizi tavsiye ederim.

Homoerotik safkan beyaz temalı Abercrombie & Fitch markası, delikanlı geçinen ve kültürlerin kaynaştığı Türkiye'de nasıl bu kadar moda oldu anlamış değilim. Böyle bir şey giyiyorsanız şunu bir seyredin hele :)



Be the first one to comment...

atma bre atmel

18 July 08, Friday @ 11:31

Bir bilgisayarı motor ve sensörlere bağlamanız gerekmişse, yada çok basit olmayan kararlar verecek bir elektronik devre yapmışsanız, mikrokontrolörlere illaki işiniz düşmüştür. Mikrokontrolör basitçe, üzerinde CPU, RAM, Flash bellek gibi birçok bileşen içeren ve kendi başına ufak bir bilgisayar gibi çalışabilen bir entegre devredir.

Türkiye'de çoğunlukla Microchip'in PIC serisi kullanılıyor, ama ben Atmel firmasının AVR serisini tercih ediyorum. Neden derseniz, geliştirme ortamı bildiğimiz gcc! gcc'nin çalıştığı herhangi bir platformda, normal masaüstü işlemcilere, yada gömülü ARM işlemcilere vb nasıl kod üretiyorsak, aynı şekilde AVR için geliştirme yapabiliyoruz.

Geliştirme ortamını paketledim ve Pardus 2007 ve 2008 depolarına girmiş durumda.

pisi it -c programming.microcontroller
komutuyla kolayca kurabilirsiniz. Derleme ortamı binutils-avr, gcc-avr ve avr-libc paketlerinden oluşuyor. Derlediğiniz dosyaları avrdude aracıyla entegrenize yükleyebilirsiniz.

Yükleme bağlantısı için internetten STK500 gibi bir kit satın alabilir, ya da ucuz ve rahat temin edilebilecek bir çözüm isterseniz Altaş yayıncılığın USB programlayıcı kartını kullanabilirsiniz.

AVR işlemcilerin çoğu modelini Karaköy'de bulabilirsiniz. Fiyatları oldukça ucuz ve dahili osilatörleri olduğu için, nerdeyse iki bacağını akıma bağlayan basit bir devreyle çalıştırabiliyorsunuz. Model seçerken dikkatli olun, mesela 3 PWM çıkışı var diyebilir, ama o pinler aynı zamanda programlama girişi yada RS232 gibi başka bir üniteyle ortak çıkabilir, teknik PDF dosyasını indirip pinlerin görevlerini kontrol etmekte yarar var.

Blogu uzatmamak için burada kesiyorum, ilerde yazılım araçlarının kullanımı ile devam ederiz.

Nota tanıma programı ise sevgili Löker'in katkısıyla ölçeklenebilen SVG bir arayüze kavuştu. Qt4'ün QGraphicsScene sınıfına da ayrıca teşekkür ediyoruz.



1 comments...

doremi

03 July 08, Thursday @ 12:26

Harmonika öğrenirken ilk çıkan zorluk notaları bükebilmektir. Diatonik tabir edilen harmonikalarda her oktav için 12 notanın hepsi direk olarak bulunmaz. Mesela üçüncü delikten üflerseniz Sol (G), nefes çekerseniz Si (B) notasını çalarsınız. Nefes çekerken ağzınız içindeki hava akışını değiştirmeyi başarırsanız, notayı aşağı çekeceğiniz her yarım adım için sırasıyla Si bemol (Bb), La (A), La bemol (Ab) şeklinde Si'den Sol notasına doğru ses titreşimini indirebilirsiniz.

Bu hava akışını değiştirmek yazıldığı kadar kolay öğrenilen bir şey değil tabi. İşte bu tekniği çalışırken çok işe yarayan Bendometer adlı bir program vardı. Mikrofona çaldığınız sesten harmonika üzerinde hangi notayı çaldığınızı ve ne kadar bükebildiğinizi gösteriyor. Ağzınızla sesin frekansıyla istediğiniz gibi oynayabileceğiniz için (perdesiz gitar vb gibi düşünün) bu notaları tam frekansında çalabilmek önemli.

Faydalı olduğu için parasını ödeyip register da olmuştum. Ancak aylarca yanıt gelmedi, şimdi de yıllık abonelikli ve yüksek ücretli bir hale gelmiş. Ben de bari oturup yazayım işimi görecek bir şey dedim.

Python ve Qt4 ile hızlı bir prototip çıkardım, işte buradan erişebilirsiniz. Sesten notayı çözmek oldukça zor bir problemmiş, bunun için şimdilik Aubio adlı python kitaplığından faydalanıyorum, daha iyi bir algoritma hazırlayana kadar. Programı denemek için onu da çekip kurmanız gerekli.

Şimdilik çok basit halde, bazı şeyler hardcoded falan, ama keyifli bir şekilde gelişeceğini umuyorum. Belki ilgisini çeken olur diye de yazdım buraya :)



Be the first one to comment...
2008 August 2008 June