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

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

導語

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

參考了matthewearl開源的一個項目寫的。

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

讓我們愉快地開始吧~~~

相關(guān)文件

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

密碼: 1xm6

開發(fā)工具

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

環(huán)境搭建

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

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

比如:

Python美顏

原理簡介

主要流程:

(1)利用dlib庫檢測并獲取人臉特征點;

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

一些細節(jié):

特征檢測器:

用的dlib官方提供的預訓練好的模型。

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

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

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

使用演示

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

然后在cmd窗口運行即可。

一些結(jié)果圖:

(1)特朗普+奧巴馬

(2)普及+安倍

(3)喬布斯+比爾蓋茨

(4)萊布尼茲+牛頓

(5)愛因斯坦+薛定諤

That's All.

更多

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

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

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

代碼截止2018-05-01測試無誤。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號