7 Haziran 2014 Cumartesi

Perspektif Dönüşüm Katsayılarının Elde Edilmesi

Perspektif nesnenin bulunduğu konuma bağlı olarak, gözlemcinin gözünde bıraktığı etkiyi (görüntüyü) 2 boyutlu bir düzlemde canlandırmak için geliştirilmiş bir iz düşüm tekniğidir. Perspektif düzeltmede amaç kişinin veya nesnenin konum değiştirmesi sonucu oluşacak etkiyi betimleyebilmektir. Bu işlem sayesinde görüntü oluştuktan sonra dahi belirli kısıtlar içerisinde resme baktığımız açıyı değiştirebiliriz. Algoritma karakter tanıma uygulamalrında (Cam Scanner gibi) çekilmiş bir görüntüyü belirli kalıplar içerisine oturmada, plaka tanıma, yüz tanıma gibi uygulamalarda normalizasyon sırasında sıklıkla kullanılmaktadır.
Perspektif düzeltmenin önceki yazım Perspektif dönüşümünden tek farkı dönüşüm için gereken parametrelerin otomatik olarak belirlenmesidir. Parametrelerin otomatik olarak çıkarılması içinse bir kaç matris bölmesi işlemi gerekmektedir. Böylece girdi olarak verilen bir görüntü otomatik olarak kolaylıkla hizalanabilmektedir. Yazımın bundan sonrası önceki yazıları temel alarak ilerleyeceğinden devam etmeden önce Perspektif Dönüşümü ve Matris İşlemleri yazılarını

26 Ocak 2014 Pazar

C++ ile Determinant ve Matris Tersi

Lineer cebir, görüntü işleme, istatistik gibi pek çok alanda, problemleri bilgisayar programına dönüştürerek çözmede kolaylık sağlayan matrisler, sabit değerli sayıların bir düzen içerisinde tabloya yazılması ile oluşturulur. Ancak özellikle lineer cebir dersinin anlatımından kaynaklanan sebeplerden dolayı, her an hayatımızın içerisinde bulunan matrisler-le ilgili işlemlerin (Determinant hesaplama, Ters alma, Bölme) mantığını ve gerekliliğini pek çoğumuz bilmeyiz. Bu yazımda bir sebepten dolayı bu yazıyı okuyan sizlere Determinant ve  Matris Tersi / Bölmesi kavramlarının fiziksel karşılıkları ve Matris Tersi / Bölmesi için uygulanabilecek analitik yöntemleri anlatmaya çalışacağım. Yazımın başlığı matris tersi almak olduğu için diğer kavramların uzun açıklamasından ve hesaplanması için yazılan algoritmalardan bu yazımda bahsetmeyeceğim. Ancak bu kavramlar hakkında fikir sahibi olmanın, bu konuda çalışanların veya çalışmak zorunda kalanların konuya olan ön yargısını yıkabileceğine inandığım için bu başlıklara da değineceğim.

8 Aralık 2013 Pazar

Perspektif Dönüşümü

Perspektif nesnenin bulunduğu konuma bağlı olarak, gözlemcinin gözünde bıraktığı etkiyi (görüntüyü) 2 boyutlu bir düzlemde canlandırmak için geliştirilmiş bir iz düşüm tekniğidir. Rönesans döneminde Masaccio' nun resimlerinde kullanmaya başladığı teknik günümüzde gerçekçi çizimler oluşturmak için olmazsa olmazlardandır. Ancak olayı görüntü işleme açısından ele aldığımızda perspektif genellikle işlerimizi zorlaştıran bir etkiye sahiptir. Amaç nesne tanıma veya sınıflandırma olduğunda nesnenin hangi açıdan görüntülendiğinin bir önemi olmamalıdır. Örneğin standart bir karakter tanıma uygulamasına görüntü olarak verilen "cescript" "Cescript" "ʇdıɹɔsǝɔ" görüntüleri aynı kelime olmalarına rağmen bilgisayar tarafından her seferinde farklı olarak okunacaktır. İşte perspektif dönüşümü bu noktada devreye girerek verilen görüntü üzerindeki ölçekleme, yayma, dönme ve kayma gibi etkileri kaldıra-bilmemizi sağlar. Aslında geometri derslerinden de alışkın olduğumuz dönüşümün en genel yapısı aşağıdaki matris biçiminde gösterilebilir.

2 Aralık 2013 Pazartesi

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. Harika bir şey olurdu bu! Ama o algoritma mı bu algoritma mı derken zaten bu konuda pek çok uygulamanın yazıldığını farkettim. Mobil uygulama yazmak için her ne kadar geç kalmış olsam da kendimce bir sudoku çözücü yapmaya çalıştım. Yazının ilk serisinde çekilen bir fotoğraf üzerinden sudoku karesinin nasıl tespit edileceğini anlatacağım. Bildiğiniz gibi sudoku 9 adet 3x3 kareden oluşan

16 Ekim 2013 Çarşamba

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. Film sıkıştırma örneğimizden devam edecek olursak; video boyutlarını azaltmak için taviz verilebilecek birkaç noktadan biri olan renk derinliği günümüz videolarında piksel başına ortalama 1 bit ile ifade edilebilecek seviyelere kadar indirgenmiştir. Bizim çalışmalarımızda bir piksel için 24 bit kullandığımız düşünülürse varılan sıkıştırma oranı gerçekten korkutucu düzeydedir zira 1 bit ile siyah-beyaz (var-yok) olmak üzere ancak 2 renk değerini ifade edebiliriz.