Python實(shí)現(xiàn)簡(jiǎn)單的換臉術(shù)

2018-11-14 13:59 更新
本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專(zhuān)欄
下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解

導(dǎo)語(yǔ)

在跑程序,閑著也是閑著,于是做了這件似乎還算有趣的事情。拿出來(lái)分享一下。

參考了matthewearl開(kāi)源的一個(gè)項(xiàng)目寫(xiě)的。

惡搞屬性偏重。T_T有些效果還可以~

讓我們愉快地開(kāi)始吧~~~

相關(guān)文件

百度網(wǎng)盤(pán)鏈接: https://pan.baidu.com/s/1euygpYRWprWFZDXnv39P-A 

密碼: 1xm6

開(kāi)發(fā)工具

相關(guān)模塊:python-opencv模塊;dlib模塊;numpy模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

dlib據(jù)說(shuō)用Anaconda裝比較方便。年代太久遠(yuǎn)有些忘記了,我一直用原生的Python,忘了怎么裝好的,似乎也挺方便的。之前的文章分享過(guò)一些編譯好的whl文件,可以直接pip安裝。

比如:

Python美顏

原理簡(jiǎn)介

主要流程:

(1)利用dlib庫(kù)檢測(cè)并獲取人臉特征點(diǎn);

(2)通過(guò)一些簡(jiǎn)單的處理使得第二張人臉的眼睛、鼻子和嘴巴較好地“裝”到第一張人臉上。

一些細(xì)節(jié):

特征檢測(cè)器:

用的dlib官方提供的預(yù)訓(xùn)練好的模型。

第二張圖片的人臉特征需要對(duì)齊到第一張圖片的人臉特征,其實(shí)現(xiàn)參考了:

https://en.wikipedia.org/wiki/Procrustes_analysis#Ordinary_Procrustes_analysis

具體實(shí)現(xiàn)方式詳見(jiàn)相關(guān)文件中的源代碼。

使用演示

修改SwapFace.py文件的圖片路徑為自己需要操作的圖片路徑:

然后在cmd窗口運(yùn)行即可。

一些結(jié)果圖:

(1)特朗普+奧巴馬

(2)普及+安倍

(3)喬布斯+比爾蓋茨

(4)萊布尼茲+牛頓

(5)愛(ài)因斯坦+薛定諤

That's All.

更多

有些結(jié)果還是挺逗的。。。

中國(guó)名人的結(jié)果我沒(méi)敢放T_T

有興趣的朋友可以自己去試試~~~

代碼截止2018-05-01測(cè)試無(wú)誤。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)