再见李佳奇,菜鸟哥用Python也能帮小姐姐选择口红啦,快来看看!!
對于 李佳琦 ,想必知道他的女生要遠遠多于男生,李佳琦最早由于直播向廣大的網友們推薦口紅,逐漸走紅網絡,被大家稱作“口紅一哥”。不可否認的是,李佳琦的直播能力確實很強,他能夠抓住絕大多數人的心理,讓大家喜歡看他的直播,看他直播推薦的口紅適不適合自己,色號適合什么樣子的妝容。
為了提升效率,讓自己的家人或者女友能夠快速的挑選出合適自己妝容的口紅色號,今天,小編帶領大家利用Python來實現,如何快速挑選合適的口紅色號。
1
程序設計思路
這個程序的思路主要是利用人臉關鍵部位識別,然后識別出嘴唇的部位,然后進行圖片替換。
第一步:首先利用tkinter來選擇自己的照片,并選擇口紅的色號,我們獲得了選擇照片的存儲路徑和選擇的口紅色號之后,程序將我們選擇的色號由16進制轉化為RGB形式;
第二步:利用face_recognition來讀取選擇的圖片,face_recognition是最簡單的人臉識別的庫,它可以檢測人臉的關鍵點,包括眼睛、鼻子、上下嘴唇的位置等等信息。我們利用face_recognition識別圖片中上下嘴唇的位置;
第三步:利用PIL庫,將嘴唇的位置涂抹上我們選擇的口紅色號,然后將處理完的圖片顯示在界面上,就完成了我們整個程序的執行流程。
2
動手擼代碼
先來看一下設計的程序的界面,我用的是tk設計的,如果想用前端做的話也是可以的,換個殼子而已。首先,我們來看一下運行后的程序界面:
我們運行主程序,會彈出上面的界面,第一步是選擇口紅的色號,小伙伴們,可能會問,我不清楚口紅的色號怎么辦,別著急,小編給大家早就準備好了, 小編為大家精心準備了 迪奧 、美寶蓮、香奈兒、紀梵希 等大牌廠家的不同系列的口紅色號表格,如下圖所示,大家只需要自己盡情選擇就好。
我們選擇完口紅的色號之后,就是點擊“打開圖片”選擇我們本地的照片,并顯示在“圖片1”的顯示框內。
接著就是最重要的“選擇口紅”按鈕,它會幫助我們識別圖片中嘴唇的位置,然后涂抹上對應色號的照片,并將處理好的照片顯示在“口紅效果”的展示框中。
3
關鍵源碼解析
我們來看一下這一部分對應的源碼吧
上述的程序中,主要完成了3個動作:
- 分別對應了GUI界面中“打開圖片”、“選擇口紅”和“退出軟件”三個按鈕的對應函數;
- 其中choosePic函數用來上傳并顯示我們的本地圖片;
- 而showlioStickPic用來給我們的圖片涂口紅,并在界面上顯示處理之后的照片;
- quit就是處理tk界面的退出按鈕
PutLipsticks函數完成了最為關鍵的操作,下面我們會一步講解是如何處理的
?
上述的程序中,首先程序需要將我們輸入的16進制的色號轉變為RGB的三通道格式,因為后續的函數中,不支持16進制的顏色表示方式。然后我們調用face_recognition來檢測人臉的關鍵點,將我們的上下嘴唇涂上我們選擇的口紅顏色,并保存處理好的圖片,返回保存的文件路徑。如果大家對Python感興趣的話,可以加一下我的微信哦:abb436574,免費領取一套學習資料和視頻課程喲~
以上就是我們的程序講解,我們來看一下程序的執行效果到底如何吧,如下圖所示:
可以看到,我們利用不同的色號,為同一張圖片進行了口紅的試色,當然,大家可以按照自己的喜好,去更換口紅的顏色。
總結
以上是生活随笔為你收集整理的再见李佳奇,菜鸟哥用Python也能帮小姐姐选择口红啦,快来看看!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [案例分享]科大云炬工作室开发的安卓AP
- 下一篇: 中英文论文高效排版插件一一 Tip (