亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Python給頭像加上圣誕帽或圣誕老人小圖標(biāo)附源碼

 更新時(shí)間:2024年04月08日 11:43:57   作者:Python數(shù)據(jù)分析實(shí)戰(zhàn)  
圣誕的到來(lái)給大家?guī)?lái)喜悅,今天圣誕老人給大家送一頂圣誕帽,今天小編通過(guò)代碼給大家分享使用Python給頭像加上圣誕帽或圣誕老人小圖標(biāo)附源碼,需要的朋友一起看看吧

隨著圣誕的到來(lái),想給給自己的頭像加上一頂圣誕帽。如果不是頭像,就加一個(gè)圣誕老人陪伴。

用Python給頭像加上圣誕帽,看了下大概也都是來(lái)自2017年大神的文章:https://zhuanlan.zhihu.com/p/32283641

主要流程
素材準(zhǔn)備
人臉檢測(cè)與人臉關(guān)鍵點(diǎn)檢測(cè)

調(diào)整大小,添加帽子

用dlib的正臉檢測(cè)器進(jìn)行人臉檢測(cè),用dlib提供的模型提取人臉的五個(gè)關(guān)鍵點(diǎn)

調(diào)整帽子大小,帶帽

選取兩個(gè)眼角的點(diǎn),求中心作為放置帽子的x方向的參考坐標(biāo),y方向的坐標(biāo)用人臉框上線的y坐標(biāo)表示。然后我們根據(jù)人臉檢測(cè)得到的人臉的大小調(diào)整帽子的大小,使得帽子大小合適。

# 選取左右眼眼角的點(diǎn)
    point1 = shape.part(0)
    point2 = shape.part(2)
    # 求兩點(diǎn)中心
    eyes_center = ((point1.x+point2.x)//2,(point1.y+point2.y)//2)
    # cv2.circle(img,eyes_center,3,color=(0,255,0)) 
    # cv2.imshow("image",img)
    # cv2.waitKey()
    # 根據(jù)人臉大小調(diào)整帽子大小
    factor = 1.5
    resized_hat_h = int(round(rgb_hat.shape[0]*w/rgb_hat.shape[1]*factor))
    resized_hat_w = int(round(rgb_hat.shape[1]*w/rgb_hat.shape[1]*factor))
    if resized_hat_h > y:
     resized_hat_h = y-1
    # 根據(jù)人臉大小調(diào)整帽子大小
    resized_hat = cv2.resize(rgb_hat,(resized_hat_w,resized_hat_h))

添加小圖標(biāo)

當(dāng)然有些同學(xué)的頭像不是人物或不能準(zhǔn)確的識(shí)別無(wú)關(guān),所有添加了標(biāo)識(shí)。(即在右下添加小圖標(biāo))。

小圖標(biāo)避免單調(diào),是從圖標(biāo)中隨機(jī)選擇一個(gè):

代碼如下:

# 水印圖片
 num = random.randint(1, 5)
 logo = Image.open("img_icon/santa_" + str(num) + ".png")
 
 img = Image.open(imgPath)
 
 print(img.size, logo.size)
 
 # 圖層
 layer = Image.new("RGBA", img.size, (255, 255, 255, 0))
 layer.paste(logo, (img.size[0] - logo.size[0], img.size[1]-logo.size[1]))

 # 覆蓋
 img_after = Image.composite(layer, img, layer)
 # img_after.show()
 img_after.save(outImgePath)

結(jié)果如下

源代碼:https://github.com/silencesmile/Christmas_Hat

總結(jié)

以上所述是小編給大家介紹的使用Python給頭像加上圣誕帽或圣誕老人小圖標(biāo)附源碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Django實(shí)現(xiàn)WebSocket在線聊天室功能(channels庫(kù))

    Django實(shí)現(xiàn)WebSocket在線聊天室功能(channels庫(kù))

    本文基于channels庫(kù)Django實(shí)現(xiàn)WebSocket在線聊天室功能,包括安裝及創(chuàng)建django項(xiàng)目的全過(guò)程,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python對(duì)象的list如何快速按照屬性查找

    Python對(duì)象的list如何快速按照屬性查找

    這篇文章主要介紹了Python對(duì)象的list如何快速按照屬性查找問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 淺談Python中數(shù)據(jù)解析

    淺談Python中數(shù)據(jù)解析

    本文給大家介紹的是Python中的數(shù)據(jù)解析的集中方式,包括列表解析、字典解析、集合解析,并附上相關(guān)示例,有需要的小伙伴可以參考下。
    2015-05-05
  • 基于python實(shí)現(xiàn)分析識(shí)別文章/內(nèi)容中的高頻詞和關(guān)鍵詞

    基于python實(shí)現(xiàn)分析識(shí)別文章/內(nèi)容中的高頻詞和關(guān)鍵詞

    要分析一篇文章的高頻詞和關(guān)鍵詞,可以使用 Python 中的 nltk 庫(kù)和 collections 庫(kù)或者jieba庫(kù)來(lái)實(shí)現(xiàn),本篇文章介紹基于兩種庫(kù)分別實(shí)現(xiàn)分析內(nèi)容中的高頻詞和關(guān)鍵詞,需要的朋友可以參考下
    2023-09-09
  • 詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句

    詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句

    絕對(duì)導(dǎo)入其實(shí)非常簡(jiǎn)單,即是用from語(yǔ)句在import前指明頂層package名,下面我們通過(guò)兩個(gè)例子來(lái)詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句
    2016-06-06
  • python中的decorator的作用詳解

    python中的decorator的作用詳解

    這篇文章主要介紹了python中的decorator的作用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python實(shí)現(xiàn)AI自動(dòng)玩俄羅斯方塊游戲

    Python實(shí)現(xiàn)AI自動(dòng)玩俄羅斯方塊游戲

    提到《俄羅斯方塊》,那真是幾乎無(wú)人不知無(wú)人不曉。其歷史之悠久,可玩性之持久,能手輕輕一揮,吊打一大波游戲。本文將利用Python實(shí)現(xiàn)俄羅斯方塊進(jìn)階版—AI自動(dòng)玩俄羅斯方塊,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python標(biāo)準(zhǔn)庫(kù)uuid模塊(生成唯一標(biāo)識(shí))詳解

    Python標(biāo)準(zhǔn)庫(kù)uuid模塊(生成唯一標(biāo)識(shí))詳解

    uuid通過(guò)Python標(biāo)準(zhǔn)庫(kù)的uuid模塊生成通用唯一ID(或“UUID”)的一種快速簡(jiǎn)便的方法,下面這篇文章主要給大家介紹了關(guān)于Python標(biāo)準(zhǔn)庫(kù)uuid模塊(生成唯一標(biāo)識(shí))?的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python爬蟲(chóng)使用代理IP的實(shí)現(xiàn)

    Python爬蟲(chóng)使用代理IP的實(shí)現(xiàn)

    這篇文章主要介紹了Python爬蟲(chóng)使用代理IP的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python中yield的用法詳解——最簡(jiǎn)單,最清晰的解釋

    python中yield的用法詳解——最簡(jiǎn)單,最清晰的解釋

    這篇文章主要介紹了python中yield的用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論