基於C 實現的TPS和B樣條人臉變形系統

2021-09-26 00:11:41 字數 425 閱讀 1510

1 需求分析

人臉變形即,在引導圖的面部 68 個關鍵點的引導下,將源圖的面容進行扭曲變形,使得得到的的人臉的關鍵點特徵與導引圖的關鍵點特徵相似。

由於該變形過程無法用顯式的數學公式進行表達,在變形上存在一定的難度。而我們的需求是將源圖的關鍵點座標的位置對映到導引圖的關鍵點座標的位置,同時也要將關鍵點座標附近的畫素座標也對映過去。由於對映之後得到的座標點不是整數,所以需要進行插值。為此,可以採用兩個常見的變形函式,即 b 樣條變形和 tps 變形。

在本報告中,規定源圖為待變形圖,導引圖為將源圖的關鍵點特徵變換成的目標的,生成圖即變形後的。如將川普的臉的特徵換成梁靜茹的兒子 anderson 的臉,源圖為川普,導引圖為 anderson。

樣條曲線 B樣條曲線求解及C 實現

功能 根據引數u值和k 大小為階數值 與節點向量,計算第i個k次b樣條基數 輸入引數 u 引數值 k 大小值為階數 i 第i個k次b樣條的支撐區間左端節點的下標 anode為節點向量。輸出引數 返回函式值。double getbasefunval double u,int i,int k,vecto...

求B樣條曲線各個點座標及C 實現

功能 根據引數u值和k 大小為階數值 與節點向量,計算第i個k次b樣條基數 輸入引數 u 引數值 k 大小值為階數 i 第i個k次b樣條的支撐區間左端節點的下標 anode為節點向量。輸出引數 返回函式值。double getbasefunval double u,int i,int k,vecto...

B樣條基函式的定義和性質

定義 令u 是乙個單調不減的實數序列,即ui ui 1,i 0,1,m 1。其中,ui稱為節點,u稱為節點向量,用ni,p u 表示第i個p次 p 1階 b樣條基函式,其定義為 由此可知 1 ni,0 u 是乙個階梯函式,它在半開區間u ui,ui 1 外都為零 2 當p 0時,ni,p u 是兩個...