313. dönem 3.takım 5.manga

Küçükyalı Levazım Maliye Okulu ayrı bir dünya, ve burada yaşananlar hiç unutulmayacak anılar. Hiç tanışmadığım ama aynı anları paylaştığım birkaç arkadaşım da doğrular şekilde yazmışlar tecrübelerimizi.

1. günlük (en alttaki yorumlardan başlayın)
2. günlük

Kötü bir insan yoktu bizimle muhattap olan. Mecbur olmasalarda; o kadar "okumuş adamın" fotoğrafçı bir askerden yediği kazığı, yetmiyormuş gibi, şiir kitabı satan bir askere de kuzu kuzu ödediği 10 ytl yi acı acı geri aldılar bizim için. Eğitimde merhamet yoktu ama dış etkenlere karşı da bir kalkan vardı üstümüzde. Yasin Teğmen, Apti Asteğmen, Erdal Teğmen, Sermet Teğmen ve Özcan Üsteğmen kadar arkaplanda sürekli bizim için çalışan Mustafa Astsubay ımıza da teşekkürler.

Her sabah "saol" diye bağırmak için güneşin doğuşunu bize izleten komutanlarımızın çabaları için de teşekkürler. Yemekhane kıdemlisi asker Vahit ve "Dede" kantinci Vedat da unutulmaması gereken şahsiyetlerdendir.

3.takım 5.manga nın 13 elemanı, manga başı, koğuş kıdemlisi, dönem birincisi, dönemin en çok konuşan adamı, en hızlı uyuyan adamı, en general adamı, en çok yıkanan adamı ve en ballı Antalyalı askeri ile bunları yaşadı. Kendi içinde iyi arkadaşlıklar kurdu, yetinmedi komşu mangalardan da dostlar edindi.

Her insan yaşamalı bu 18 günü...

apt-build

Gentoo'nun derlemeyi makineye uygun bir şekilde kurarken yapması hız avantajı sağlıyor. Ancak gerçekten aşırı derecede uzmanlık gerektiren ve vakit alan bir dağıtım. Ben Ubuntu'yu apt-get kolaylığı için seviyorum. Ayrıca son kullanıcılar için son derece kullanışlı. Ama gentoo'nun derleme özelliğini de çok istiyordum. apt-build komutunu anlatan yazıyla karşılaşınca çok iyi oldu. Artık dilediğim, hızlı olmasını ve makineme özel derlenmesini istediğim programları apt-build yardımıyla kurabiliyorum.

Türkçe apt-build nasıl belgesi (Anlatılanlar her ne kadar debian için de olsa ubuntu içinde geçerli)

Java'da pirinç saydıralım

Bir başka ödev çalışması bir resimdeki pirinç tanelerini bulmaktı. Bu iş biraz daha zor oldu benim için. Matlab içerisinde bwlabel komutuyla nesneleri sayıp etiketlendirebiliyorsunuz. Benim ise ön işlemeden sonra nesneleri kendi yazdığım bir algoritma ile bulmam gerekti. (Kodlar)

Programın sonuç ekran çıktısı aşağıdaki resimde görülebilir:

Gelelim sayma algoritmasının nasıl çalıştığı konusuna. Yukarıdaki resimde de göreceğiniz üzere ilk olarak yapılan işlem resmin siyah-beyaz tonuna çevrilmesi ve pirinç tanelerinin beyaz olarak net bir şekilde gözükmesidir. Bu iş için ön işlem yapılmıştır. Bütün bu işler için JH Labs Java görüntü işleme kütüphanesi kullanılıyor. İlk olarak Threshold filtresi uygulanıyor. Bu filtre yardımıyla varsayılan olarak 173'ten (pikseller 0-255 arası renk kodlarına sahip) aşağı olan renkler siyaha, yukarı olan renkler beyaz'a dönüştürülüyor. Daha sonra bu filtrenin değiştirdiği resim üzerinde kirlilikleri (gürültüleri) temizlemek için ReduceNoiseFilter uygulanıyor. Bu iki filtrenin uygulanması sonucu en soldaki resim ortadaki resime dönüşmüş oluyor. Bu noktadan itibaren pirinçler daha net olduğu için sayma işlemini başlatabiliriz.

Pirinçlerin sayma işleminde satır satır tarama yapılarak, her pikselin renk kodu inceleniyor. Beyaz bir pikselle karşılaşınca pirinç sayısı 1 arttırılıyor ve o beyaz pikselin 4 tarafı özyineli bir fonksiyon yardımıyla siyaha çevriliyor. Bu şekilde ileride aynı pirinci bir daha saymamış olacağız. Bu işlem tüm satırlar bitene kadar tekrarlandıktan sonra en sağdaki resmi ve aşağıda yazan pirinç sayısını buluyoruz. Elle saydığımızda 81 (tartışmalar var, 79 sayan da var :D ) pirinç saydığımız resimde yazdığım program 80 pirinç sayarak bence bir başarıya imza atıyor. Ancak bu programın en büyük dezavantajı önişlemdeki threshold değeri için bir insan müdahelesine ihtiyaç duyması. Genel bir çözüm üretmek çok mümkün gözükmüyor.

(Beseech - Read between the lines)

Java'da Görüntü İşleme

Sayısal görüntü işlemi dersi kapsamında resimler üzerinde basit filtreleme işlemlerini yapan bir program yazmamız istendi. Matlab ile yapmamız gerekiyordu, ancak ben matlab ile yapmak yerine bu işi java'yla yaptım. Matlab'a nedense bir türlü için ısınmıyor. İstenen lisans ücreti ve yeni bir dili öğrenmeme isteği ısınmama konusunda önemli nedenler sanırım.

Neyse konumuza dönelim. Bu filtreleri sıfırdan java'da yazmaya kalkışınca ne kadar zor olduğunu gördüm (:D). İnternette biraz araştırma yapınca bu iş için özel filtreler üretmiş olan jhlabs sitesini buldum. Her ne kadar filtreleri Java Image Editor için hazırlamış olsa da uygun ayarlamalarla rahatça kendi programımda da kullanabildim. Filtreleri indirip kendi programlarınızda da kullanabilirsiniz. Ama lisansına uymanız gerekmektedir. Benim programın zip dosyasını indirip içerisindeki kaynak kodları inceleyip, nasıl kullanıldığını da görebilirsiniz. Kendimin yazmaya çalıştığı bir kaç filtreyi de (Threshold filtreleri) görebilirsiniz. Aşağıdaki resimde programda bir resimde köşeleri keskinleştiren köşe tespit filtresinin (edge detection) uygulanma sonucu görebilirsiniz:

ÇizBakalım

İlk olarak fazlamesai'de haberiyle karşılaştığım çizbakalım oyunu bağımlılık yapabilecek bir oyun. Çizim yaratıcılığını ve kelime bilgisini arttırdığına inanıyorum. Bir kaç kere denedim, gerçekten eğlenceli olabiliyor. Bir kelimeyi anlatırken çok yaratıcı bir şekilde çizdiğiniz zaman tebrik almanız da ego tatmini açısından hayli güzel. Neyse sizin de bu güzel oyunu denemenizi isterim. Hoşunuza gidecektir. Tabi vaktinizi alacağı kesin. Ha bir de insanda tablet alma isteği uyandırıyor daha iyi çizebilmek için :D