2017-10-24 61 views
5

Bunu algılayarak yüzleri incelten veya şişiren bir Android uygulamasında çalışıyorum. Şu anda, İnce plaka spline algoritması kullanarak bunu başardım. http://ipwithopencv.blogspot.com.tr/2010/01/thin-plate-spline-example.htmlOpenGL Resim eğrisini kullanarak arama tablosu

Sorun şu ki, algoritma benim için yeterince hızlı değil, bu yüzden OpenGL'ye değiştirmeye karar verdim. Bazı araştırmalardan sonra, arama tablosu dokusunun bunun için en iyi seçenek olduğunu görüyorum. Kaynak imajı için bir kontrol noktaları ve bunların çözgü etkisi için yeni pozisyonları var. Çözgü efekti elde etmek için arama tablosu dokusunu nasıl oluşturmalıyım?

cevap

1

Aradığınız bir dokuya ihtiyaç duyduğunuzdan emin misiniz?

Dokulu bir dikdörtgen kafes (ya da dikdörtgen olmayan bir ağ, tabii ki, yüz tanıma algoritması olarak, muhtemelen yüz benzeri bir örgü döndürdüğünüzde) varsa daha iyi olacağına ve algoritma:

enter image description here

sadece bu şekilde paralel olarak, her ağ düğümü işlem, bir köşe gölgelendiricideki yapmak mümkün olabilir, fakat aynı zamanda daha az değer `s you`d dinamik doku nesil ile karşılaştırıldığında işlemden geçirilmesi için.

Bunu başarmak için en uygun yöntem, her mesh noktasına mesh indeksinin depolanacağı bir 0 ve X koordinatının Y koordinatını vermek ve daha sonra bir doku iletmektir (belki de hedef aygıtlar destekliyorsa buffer texture bile) İstenen indekste R ve G kanallarının istenen X ve Y koordinatlarını içerdiği köşe gölgelendiricisi.

Köşe gölgelendiricinin içinde, koordinatlar dokudan yüklenmelidir.

Bu yaklaşım, hedef veri dokümanı düzgün şekilde güncellendiyse, örneğin piksel gölgelendiricisinde, geometriyi yeniden yüklemeden dinamik çözgü yapmaya olanak tanır.