IMLAB Görüntü İşleme Kütüphanesi

Lisans üçüncü sınıfta dönem projesi geliştirmesi için başladığım C ile görüntü işleme çalışmalarım yıllar içerisinde mini bir görüntü işleme kütüphanesine dönüştü. Bu blogda da bilinen adı ile CBMP bu kütüphanenin ilk ve amatör halini oluşturmakta idi. İlerleyen dönemlerde kişisel projeler ve çalışmalarımda da CBMP benzeri  küçük ve işlevsel bir görüntü işleme kütüphanesine sık sık ihtiyaç duydum. CBMP kütüphanesinin veri tiplerinin az olması, renksiz görüntü tipinin olmaması ve orta ölçekli bir projede ihtiyaç duyulan bellek yönetimi ve tip esnekliğine sahip olmaması nedenlerinden ötürü CBMP kütüphanesini bir noktada terk ederek; organizasyon ve hiyeraşisi üzerine daha çok düşündüğüm, yazımı ve okunurluğu üzerine ciddi çalışmalar yaptığım ve basit veri tipleri ile fonksiyonları tek bir isim altında toplayabildiğim IMLAB kütüphanesini yazmaya karar verdim.

Görsel/Optik Yanılsama

reutersvards üçgeni
Görsel/Optik Yanılsama (Visual/Optical Illusion), görme organından alınan bir işaretin anlamlandırma sistemi tarafından yanlış yorumlanarak, nesnenin olduğundan farklı şekilde algılanmasıdır. İnsan görme organı göz, insan vücudundaki en karmaşık organlardan biridir ve yaklaşık 10 milyon rengi 576 MP çözünürlükte ayırt etme yeteneği ile günümüzde pek çok kameradan daha üstün yeteneklere sahiptir. Ancak görme, yüksek çözünürlükte görüntüyü yakalama işleminden çok beyinde yapılan ve yaklaşık beynin üçte birinin ayrıldığı, görüntüyü anlamlandırma işlemidir. Bu işlem sırasında beyin birden çok kanaldan gelen veriyi (ses, koku, hava sıcaklığı gibi) çok yüksek hızda işleyerek duruma en uygun anlamlandırmayı bulmayı çalışır.

İçerik Tabanlı İmge Ölçekleme

Ölçekleme (görüntü boyu değiştirme) verilen bir imgenin boyutunun istenilen boyutlara, doğrusal veya doğrusal olmayan yollarla ,yeniden ayarlanması işlemidir. Kısa bir zaman öncesine kadar ölçekleme işlemini kıymetli kılacak bir gereksinim ortaya çıkmamış ve çok standart bir yöntem olan örnekleme yöntemi ile alınan sonuçlar yeterli görülmüştür. Ancak, görüntüleme cihazlarının (telefon, monitör, vs.) ve ortamlarının  (facebook, instagram, vs.) çeşitlenmesi ile düzgün olmayan örnekleme yöntemlerine ihtiyaç duyulmuştur. Bu olayın sıklıkla karşımıza çıkan örneklerinden biri instagram' ın kare imge şablonudur. Bu şablon nedeniyle imgeler boyutu ne olursa olsun kare biçimine getirilmesi gerekmektedir.

Sudoku Çözücü Uygulaması

Şu ana kadarki yazılarımın çoğu kitaplar içerisinde de bulunabilecek konu başlıklarında oluşuyordu. Bu yazımda daha önce öğrendiğimiz eşikleme, bağlantılı bileşen etiketleme gibi teknikleri kullanarak basit bir uygulama yazmaya çalışacağım. Uygulamanın basit olması kesinlikle daha önceki tekniklerimizi kullanmamıza dayanıyor, o yüzden devam etmeden önce özellikle bağlantılı bileşen etiketleme konusunu gözden geçirmenizi tavsiye ederim. Gelelim uygulamamıza, sudoku çözmeye başlamamdan itibaren hep aklıma gelen bir konuydu bu; cep telefonu ile bulmacanın fotoğrafını çekiyorsun ve o da sana çözümleri buluyor.

Görüntü Renk İndirgeme

sinyal quantalama
Renk indirgeme-azaltma görüntü işleme uygulamalarında genellikle görüntüyü sıkıştırmak veya işlemciler üzerindeki işlem yükünü azaltmak için sıklıkla kullanılan bir tekniktir. Günümüz makinelerini göz önüne alarak görüntü sıkıştırma hala gerekli mi sorusunu sorma cesaretini gösterenler için 1 saniyelik ortalama bir Full HD (1920x1080) filmin sıkıştırma yapılmadan en az  142 MB ile saklanabileceğini belirtmek isterim. Yani teknoloji geliştikçe saklama gereksinimi de sorun olmaktan çıkmıyor tam aksine sorun olmaya başlıyor.

Görüntü işleme ile ilgili yeni yazıları ve bu sitede yer alan yazıların güncellenmiş sürümlerini www.imlab.io veya cescript.github.io adreslerinden takip edebilirsiniz.

X