Field Morphing
Merhaba değerli arkadaşlar bu yazımda sizlere yine Morfleme hakkında bilgiler sunacağım.Bu yazım aynı zamanda bir önceki yazımın devamı niteliğindedir.Morfleme yönteminde iki algoritma bulunduğunu ve bunların Field morphing ve Mesh morphing olduğunu önceki yazımda belirtmiştim.
Bu yazımda sizlere Field morphing hakkında geniş çapta bilgiler sunacağım.Field morphing yöntemi 1992 yılında Beier ve Neely tarafından önerilen bir algoritmadır.Şimdi Field Morphing yöntemini kullanarak gerçeklemiş olduğumuz uygulamamızın çıktısını aşağıda vereceğim.
Field Morphing algoritmasının çalışma adımları şunlardır.
- Resimde Yüz bölgesinin algılanması (Face Detection)
- Yüz bölgesinde Özellik noktalarının belirlenmesi
- Kontrol segmentlerinden Ağırlıklı ortalamanın hesaplanması ve Yeni segmentin bulunması
- Resim üzerinde tüm pixellerin Segmentlere olan Diklik Şartının Bulunması
- Kaynak resimlerden belirlenen Segmentlerin Hedef resim üzerinde karşı düşeceği Segmentin hesaplanması ve benzer geometrik durumların bulunması
- Kaynak Resimlere Cross Dissolving uygulayıp hedef resim üzerinde ki pixellerin renk değerlerinin Bulunması
Yukarıda belirtilen adımları elimden geldiği kadar ve dilimin döndüğü ölçüde sizlere anlatmaya çalışacağım.Yalnız ilk iki adıma daha önceki yazılarımda anlatmış olduğum için onlara değinmeyeceğim. Onun dışında kalan adımları elimden geldiği kadarıyla anlatacağım.
Kontrol segmentlerinden Ağırlıklı ortalamanın hesaplanıp Yeni Segmentin Bulunması
Kaynak resimler yani Morflenecek resimler üzerinde belirlenen eşit sayıda segmentlerden her birisi için hedef resim yani morflenmiş resim üzerinde karşı düşen segmenti bulmalıyız.
Bunun için kaynak resimlerdeki segmentlerin kordinatlarını kullanarak yeni oluşturacağımız morflenmiş resim üzerinde segment kordinatlarını hesaplayabiliriz.
Bunun için İlk resim üzerinde ki her bir segment i vektör olarak tanımladığımızda ilk resimdeki vektörleri m1 diye adlandıracağım.İkinci resim üzerinde ki segmentleride yine vektör şeklinde ele alıp ordaki her bir vektör için m2 vektörünü kullanacağım.
Hedef resim üzerinde yani 2 resmi morfleyip elde edeceğim resim üzerinde belirlenecek vektörler için ise m0 vektörünü kullanacağım.
Ağırlıklı ortalamayı bulurken burada her bir segmentin yani her bir vektörün başlangıç noktasından yani kordinat düzleminden olan uzaklığının belirlenmesi için ise kordinat düzleminin başlangıcından yani orjinden her bir segmente bir vektör çizilecektir.
1.resim için çizilecek vektörler n1 vektörü 2.resim için çizilecek vektörler ise n2 vektörü son olarak hedef resim yani morflenmiş resimde karşı düşen vektör için ise n0 vektörünü kullanacağım. Aşağıda bu görsel olarak belirtilmiştir buradan daha rahat olarak anlayabileceksinizdir.
M0 ve n0 vektörlerinin nasıl bulunduğunu aşağıda ki formülde belirtilmiştir.
m0=m1+alfa*(m2-m1)
n0=n1+alfa*(n2-n1)
Yukarıda m0 ve n0 nasıl bulunduğunu belirtmişim burada alfa değerinin ne olduğunu sadece belirtmişim.Alfa değeriyse resimlerin hangi oranda birleşeceğinin belirtildiği değerdir.Genel olarak 0.5 olarak alınmaktadır.
Resim üzerinde tüm pixellerin Segmentlere olan Diklik Şartının Bulunması
Field morphing algoritmasının gerçekleştirilmesi için inverse mapping ve reverse mapping yöntemleri bulunmaktadır.Reverse mapping yönteminin daha effectice olduğunu düşündüğüm için bu metodu ele alacağım.
Bu metot da daha öncede belirttiğim gibi Morflenecek resimler üzerinde ki pixeller ve segmentlerin hedef resim üzerinde iz düşeceği pixellerin ve segmentlerin bulunması hedeflenmiştir.
Bu algoritmada hedef resim üzerinde her pixelin en yakın segmente olan diklik şartının sağlanıp sağlanmamasına göre cross dissolving uygulanacaktır.Bir noktanın en yakın segmente olan diklik şartının bulunması için analitik geometriden yararlanılmıştır.Aşağıda bu görsel olarak belirtilmiştir.
Yanda ki üçgende diklik şartının formülleri altında belirtilmiştir buradan elde edilecek w açısı eğer dar açıysa o zaman biz bu noktanın segmente dik olduğunu söyleyebiliriz.
Bir sonraki yazımda morflemeye devam edeceğim.Şimdilik esen kalın….
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri