2014-04-18 75 views
2

我使用OpenCV的做faceswap應用程序,比方說我已經找到2面的圖片,然後我冒出臉矩形與橢圓。我的問題是,這兩種面孔有不同的膚色,所以如果我只是單純地交換橢圓的座標,結果看起來並不那麼好。所以我至少在考慮根據原始臉部調整臉部的顏色。OpenCV的圖像混合

我相信這是可能實現與OpenCV庫,但我只是不知道方法我應該尋找的名稱。此方法速度也很重要,因爲我正在爲Android開發此應用程序。

+0

也許你可以使用這些答案: http://stackoverflow.com/questions/22315904/blending-does-not-remove-seams-in-opencv/ – Micka

回答

8

我覺得EM recoloring應該是一個很好的起點。也看看poisson blending

+0

感謝您的建議,這些方法似乎做正是我所期待的。但在另一方面不存在,對於例如不會產生這麼大的結果的任何其他方法,但是他們會更快? 在最壞的情況下,我想我會跳過這些混合技術,如果它們速度不夠快,我會根據顏色直方圖的相似性來換臉。在那種情況下,是否有任何OpenCV函數來比較直方圖的相似性? :]感謝 – skornos

+1

可以使用compareHist方法測量HIST相似的響應。參見http://docs.opencv.org/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html –