轉眼之間,一年一度的圣誕節又要來了,今年的圣誕節比以往年來的更冷一些,北京氣溫直接跌破零下十度,

劇烈的降溫之下,想出門慶祝圣誕是不可能了,菜鳥哥只想在被子里,默默的慶祝,

雖然不能出門,但是咱們可以通過其他的方式來感受圣誕節的節日氛圍,小伙伴們還記得前幾年,每逢圣誕節時,大家都會通過@微信官方的形式,來希望微信官方能夠給自己的人物頭像上添加一頂紅色的圣誕帽,

今年,菜鳥哥昨天平安夜就寫了這個程式,來給微信人物頭像添加圣誕帽,感興趣的小伙伴,抓緊準備好擼起代碼,接下來,我們就進入主題,
01.環境準備
俗話說,工欲善其事必先利其器,首先,我們要搭建好我們的程式環境,程式中使用到的python庫包括:
opencv-python 4.5.3.56
dlib 19.6.1
python的版本為python3.6,而編輯器則是用的pycharm2021.1.3版本,
大家可以針對上面的程式環境來安裝對應的python庫,對于python庫的安裝,可以利用 pip install opencv-python 的命令來進行安裝,
02.正式程式
在正式的程式中,我們的程式原理可以利用下圖進行解釋:

上圖中,可以很好的解釋我們的程式:
a).傳入人臉圖片,進行正臉識別(只有識別到正臉才能佩戴帽子),提取人臉的5個關鍵點,,
b).根據人臉大小調整帽子大小,
c).根據人臉確定放帽子的位置,并提取除帽子以外的區域,
d).提取出來帽子的圖片,并和第3步的結果相加
f).將第四步的結果圖片覆寫到原圖中對應的位置上去,
1.人臉識別
對于人臉識別,利用的是dlib庫進行完成,dlib中已經訓練好對于人臉的提取和人臉關鍵點檢測:

程式中,利用dlib檢測到的人臉存放在faces變數中,如果檢測到人臉,則通過for回圈來進一步檢測人臉當中的關鍵點,并提取人臉中左右眼角的位置坐標資訊,
2.調整帽子大小

在得到人臉的大小后,就需要針對人臉的大小來調節帽子的大小,使得人臉和帽子的大小比例協調,resized_hat變數中保存的是調整好的帽子圖片,
3.根據人臉確定放帽子的位置,并提取除帽子以外的區域,

程式中,根據人臉的位置來確定帽子適合防止的位置,從原圖中提取出相應的位置backROI,mask_inv為提取到的帽子的形狀,通過cv2.multiply函式,將backROI區域中,除帽子之外的區域保留下來,保存到bg變數中,結果如下圖所示,


上圖的程式中,通過cv2.bitwise_and函式,來僅保留帽子的影像,hat變數的結果如下圖所示,

通過函式cv2.add,來將上面的兩張圖進行合并,

最后,將合并的結果圖放回到原圖中對應的位置即可,這樣,就可以得到一張漂亮的圣誕帽圖片了,

03.批量處理
為了方便大家批量的處理圖片,菜鳥哥也為大家貼心的寫了批量化處理的函式,

大家可以通過以傳入檔案夾的形式,來批量的為頭像添加圣誕帽,最后,菜鳥哥為大家展示幾張完成的照片效果,

總結
整個程式不是很難,關鍵是dlib這個環境不太好安裝(需要安裝gcc然后編譯),非常麻煩,需要圖片加圣誕帽子,也可以找小助手幫忙,公眾號后臺輸入:小助手,暗號:圣誕
圣誕節來臨了,今年的冬天是真的冷哦,不說了,取暖基本靠抖,我要去吃火鍋了!
推薦閱讀:
入門: 最全的零基礎學Python的問題 | 零基礎學了8個月的Python | 實戰專案 |學Python就是這條捷徑
干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 | 從萬眾期待到口碑撲街!唐探3令人失望 | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這么火,我用機器學習做個迷你推薦系統電影
趣味:彈球游戲 | 九宮格 | 漂亮的花 | 兩百行Python《天天酷跑》游戲!
AI: 會做詩的機器人 | 給圖片上色 | 預測收入 | 碟中諜這么火,我用機器學習做個迷你推薦系統電影
小工具: Pdf轉Word,輕松搞定表格和水印! | 一鍵把html網頁保存為pdf!| 再見PDF提取收費! | 用90行代碼打造最強PDF轉換器,word、PPT、excel、markdown、html一鍵轉換 | 制作一款釘釘低價機票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!|
年度爆款文案
1).臥槽!Pdf轉Word用Python輕松搞定!
2).學Python真香!我用100行代碼做了個網站,幫人PS旅行圖片,賺個雞腿吃
3).首播過億,火爆全網,我分析了《乘風破浪的姐姐》,發現了這些秘密
4).80行代碼!用Python做一個哆來A夢分身
5).你必須掌握的20個python代碼,短小精悍,用處無窮
6).30個Python奇淫技巧集
7).我總結的80頁《菜鳥學Python精選干貨.pdf》,都是干貨
8).再見Python!我要學Go了!2500字深度分析!
9).發現一個舔狗福利!這個Python爬蟲神器太爽了,自動下載妹子圖片
點閱讀原文,看200個Python案例!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/395011.html
標籤:AI
上一篇:Linux的FTP的深度學習
