Category: Türkçe

Date:

Uzun bir süredir yazamıyorum. Biraz olması gereken bazı şeylerin olmamasından dolayı moral bozukluğu, biraz dinlenme, biraz odamı toparlama, biraz kendimi Django‘ya kaptırma, OpenCV kurma derken 23 gün geçmiş aradan. Dönemi güzel bir şekilde kapattım, geriye 23 kredim kaldı. Gelecek seneye nasıl bir kredi dağılımı yaparım, ders saatleri gösterecek. Bir yerde yarı zamanlı mı çalışırım, ek ders mi alırım bilemiyorum. Her şey zamanla...

Evet, okul bitiminde okulla ilgili belgelerimi arşivledim, eski gereksiz dosyaları sildim, toparladım, yedekledim. Sonra kendimi Djangoya kaptırdım. The Definitive Guide to Django adlı kitabı okuyayım dedim. Ancak ilk başlarda güzel gitmesine rağmen birçok eksiğinin olduğunu gördüm. Bazı noktaları atlamaları sebebiyle "Buradan buraya nasıl geçti? Buradaki kodları nereye kaydediyoruz?" gibi soru işaretleri gündeme geliyor. Ama genel olarak güzel bir kitap. Kitabı okurken ayrıca Pythonla ilgili bilmediğim, ya da unuttuğum bazı önemli detayları öğreniyorum/hatırlıyorum. Hemen bazılarını paylaşayım:

  • Pythonda, boş liste ([]), tüp (()), sözlük ({}), metin ("), sıfır (0), ve özel nesne olan None, Boolean türünde Falsea karşılık gelir. Geri kalan her şey ise Trueya.
  • Tüpleri kullanırken son öğeden hemen sonra virgül koymayı alışkanlık haline getirin. Eğer tüp tek öğeden oluşuyorsa ve bunu yapmazsanız, Python parantez içerisindeki o tek öğeyi hesaplamaya ve onun değerini döndürmeye çalışır. Çünkü onun tüp olduğunu algılayamaz.
  • Etkileşimli kabuktayken import this komudunu verin ve okuyun... :)
  • Python fonksiyon parametreleri hakkında ilginç noktalar.

Araya hafta sonunda Oracle kursumun girmesi sebebiyle Djangoya biraz ara verdim. Hafta içinde ise Robotik projemiz üzerinde staj yapan arkadaşlarım Semih ve Demirin bilgisayarlarına Linux kurmalarına ve OpenCV kütüphanesini kurmalarına yardımcı oldum. Daha önce kurmayı denemiş fakat başaramamıştım. Bu sefer de Pardus üzerinde tekrar denediğimde değişken türlerinin uyumsuzluğundan kaynaklanan birtakım hatalar aldım. Muhtemelen gcc sürümündeki farklılık sebebiyle. Ubuntu 8de denediğimde ise sonuç başarılıydı. Hemen kurulum adımlarını Türkçe kaynak olsun diye yazıyorum:

  1. sudo apt-get install gcc g++ libgtk2.0-dev
  2. Opencv indirilir, uygun bir yere açılır.
  3. Konsolda o yere geçilir
  4. ./configure
  5. make
  6. sudo make install
  7. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
  8. Yukarıdaki komut aynı zamanda ~/.bashrc altına eklenir.
  9. pkg-config -cflags opencv #ciktisi: -I/usr/local/include/opencv
  10. pkg-config -libs opencv #ciktisi: -L/usr/local/lib -lcxcore -lcv -lhighgui -lcvaux -lml
  11. sudo nano /etc/ld.so.conf ile aç ve en altına /usr/local/lib ekle, Ctrl+O ile kaydet.
  12. sudo ldconfig
  13. make check
  14. samples/c dizinine girip
  15. g++ `pkg-config -cflags opencv` -o morphology morphology.c `pkg-config -libs opencv` #dikkat, tırnaklar özel bir tırnak işareti
  16. ./morphology

Ve örnek programlarda morphology adlı olanı çalışıyor olsa gerek. Diğer örnek programlar da çalıştı bende. Yüz tespit programı da harika olmasa da çalıştı. En azından benim yüzümü tespit edebiliyor.

Zemanta Pixie


Share: FacebookGoogle+Email


comments powered by Disqus