Kaynak resimdeki Segmentlerin Hedef resim üzerinde ki Segmentin hesaplanması

Morfleme yaparken daha önceden de belirttiğim gibi rastgele olarak iki resmi tarayıp karşılıklı pixelleri birbirleriyle izdüşürüp cross dissolving yapmıyoruz.Öncellikle kaynak resimlerdeki tüm segmentlerin ve pixellerin hedef resim üzerinde ki karşılıklarını bulmaya çalışıyoruz.Bunun için aşağıda ki resmi anlamaya çalışalım.

 

Yukarıda ki şekilde de görüldüğü gibi kaynak resimler üzerinde kullanıcın ya otomatik olarak yada manuel olarak belirlemiş olduğu segmentler belirlenmiştir. Bizim amacımız her iki kaynak resim üzerinde ki her bir segmenti yani vektörü hedef resim üzerinde iz düşürmektir.

Bu şekilde yaparsak daha kaliteli bir morflenmiş resim elde edebiliriz.Aksi takdirde elde edilecek morflenmiş resimlerde bazı pixeller tam karşı düşeceği pixeli bulunamadığı için elde edilecek görüntü de kaymalar meydana gelecektir.

Yukarıda ki şekili incelediğimiz zaman 1,2.ve hedef resimler üzerinde ki segment vektörleri belirtilmiştir.Burada amacımız m1,m2 orijinal vektörlerini n1,n2 gibi başlangıç vektörleriyle beraber hesaplayarak m0 ve n0 ı tam olarak hesaplayabilmektir.

Ancak Yukarıda ki şekli incelediğimiz zaman bir eksiklik olduğunu görmekteyiz.O eksiklik ise u ve v vektörlerinin bizim bilmeyişimizdir.Bu vektörleri hesaplamak için çeşitli matematiksel sabit formüller bulunmaktadır.O formüller aşağıda belirtilmiştir.

U vektörü 0<u<1 arasında değerler alabilir.U ve V vektörleri hedef resim üzerinde hesaplandıktan sonra kaynak resimler için Q ve P segmentlerinin başlangıcı ve bitişi kullanılarak X noktasının kaynak resimlerde ki karşılıkları olan X noktası bulunur.

Perpendicular Fonksiyonu

Şimdi yukarıda ki formüllerde eksik kalan tek bir parametrenin nasıl hesaplandığına bakalım.Oda perpendicular fonksiyonudur.Perpendicular fonksiyonu parametre olarak aldığı vektöre dik ve bu vektörle aynı boyda bir vektör geri çevirir.Şimdi bunun nasıl hesaplandığına bakalım.

Parametre olarak aldığı vektör koordinat düzleminin 4 ayrı bölgesinden birinde olabilir.Ama bu vektöre dik olan bir vektör bulunacaksa bu vektör her zaman dik olduğu vektörün sağında yada hep solunda yer alacaktır.İkinci resimdede benzerlik kurulmuştur.Burdan çıkardığımız sonuç

|Mx|=|’My|

|My|=|’Mx|

Koordinat sisteminde hangi bölgede olduğu belirlenerek geriye çevireceği vektörün işaretleride tespit edilir.

Cross Dissolving

Morflemenin son adımında ise cross dissolving kullanılarak hedef resimde ki her bir pixelin kaynak resimlerdeki karşı düşülen pixeller bulunacaktır. Cross dissolving algoritması kullanılarak  X’ noktasında ki piksellerin R,G,B değerleri alınır ve kaynak resimlerde ki pixeller için alınan bu değerlerden yeni bir renk meydana getirilip  X noktasına bu renk atanır.Burada ki alfa katsayısı  önceki yazılarda kullandığım alfa katsayısı aynıdır.

Xr=X1r+alfa*(X2r-X1r)

Xg=X1g+alfa*(X2g-X1g)

Xb=X1r+alfa*(X2b-X1b)

Field morphing metodunu tamamlarken son olarak programımızdan bir çıktı sunarak yazımı sonlandıracağım.Burada herhangi iki resim alınmakta ve %5 orandan başlayıp %95 orana giden aralıkta her bir kaynak resimden belirtilen oranlarla birleşim sağlanmakta.

Yani ilk adımda ilk resimden %5 ikinci resimden %95 olarak alınmakta bu 5 er 5 er artmakta ve en sonda %95 ilk resimde %5 ikinci resimden alınarak morfleme yapılmaktadır.Uygulamamızın çıktısı aşağıda verilmiştir.

 

 

 

 

 

 

 

 

 

Böylece bir yazı serimizin daha sonuna gelmiş bulunmaktayım.Bir sonraki yazımda görüşme dileğiyle esen kalın…

 

Mehmet Salih Deveci

Bilgisayar Mühendisi

Reklamlar
yorum
  1. Ahmet göçebeler dedi ki:

    Daha önceleri bende morflemeyle ilgilenmiştim tebrikler güzel olmuş çalışmalarınız…

  2. Ersin Yıldırım dedi ki:

    Mehmet bey gerçekten çok ilgi çekici bir uygulama yapmışsınız tebrik ederim… Tam bir mühendislik uygulaması olmuş…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s