<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何用技術手段將圖片背景變?yōu)橥该?

          共 2014字,需瀏覽 5分鐘

           ·

          2020-03-31 23:22

          咪哥雜談


          036fc2f9c9ce6e3eb098233645a9dfb4.webp

          本篇閱讀時間約為 6 分鐘。


          1

          前言


          上周給大家分享了人臉識別的一個 Python 庫。今天來繼續(xù)講講我上次在評論區(qū)留言的后續(xù)。


          e9020c40721eab14d0f774edda58881f.webp

          既然是追熱點的需求,大家可以想想,近幾年發(fā)生在身邊的熱點事件。


          我來簡單的給大家梳理一下,從我畢業(yè)之后到今年我感知到的熱點事件。


          2017年圣誕節(jié),微信頭像,戴上了圣誕帽子。


          2019年國慶節(jié),微信頭像,給我一面國旗。


          2020年初肺炎,微信頭像,共同抗疫,帶上口罩。


          發(fā)現沒有,微信作為現在主流的社交平臺,每年伴隨熱點的總會和頭像有關。


          頭像是什么?頭像可以代表網絡社交上一個人的門面,只要有一小撮人玩起來,那后面就像滾雪球似的,人也就越來越多。


          所以,近期的文章,我來圍繞著制作頭像模板,或者說是圖像模板,來寫一寫相關的實現技術。等待著下一次的流量過來,直接套好模板,做出服務就行了。


          上周寫了圖像人臉識別基礎的應用,那如何實現套模板?或者換個問法,如何將熱點套用在用戶原有的圖片上?

          e445ffba93a0bff94c4b6bdd6d493b4c.webp

          那一定是需要將熱點圖片的背景變?yōu)橥该魃⑶腋采w在原有的圖像上了。(此處,與今天文章的標題點題了。1ee9272a550a45aa6b934475bc0a70e7.webp


          今天先來介紹如何將圖片的背景顏色變?yōu)橥该魃O旅骈_始正文。


          2

          環(huán)境準備


          開始之前,先來重溫下這篇文章的第四部分


          圖像學小知識,不看后悔...100%有用!


          看完后,你會理解我們平時所說的 RGB 的含義,那后面就好說了。


          接下來,只需要按照 pillow 庫。


          pip install pillow


          3

          代碼部分


          代碼沒有幾行,但是需要理解下:


          from PIL import Imagedef transparent_back():    img = Image.open('old.png')    # 圖片轉換為四通道。第四個通道就是我們要修改的透明度。返回新的對象    img = img.convert('RGBA')  ????#?獲取圖片像素尺寸    width, height = img.size     pixel_data = img.load()    for h in range(height):        for w in range(width):            pixel = pixel_data[w, h]            r = pixel[0]            g = pixel[1]            b = pixel[2]            a = pixel[3]            # 四通道,色彩值大于淺灰色,則將像素點變?yōu)橥该鲏K            if r > 220 and g > 220 and b > 220 and a > 220:????????????????pixel_data[w,?h]?=?(255,?255,?255,?0)????img.save('new.png')??#?保存新圖片


          pillow庫的 Image 在之前的文章中提到過。

          open打開本地圖片,通過 convert 方法將圖片轉為 R/G/B/A

          (RGBA是代表Red(紅色) Green(綠色) Blue(藍色)和 Alpha的色彩空間)
          這里的 A,代表透明度的意思,盡管它英文本意 alpha 沒有透明度的意思。感興趣的可以看下知乎的這篇文章。
          https://zhuanlan.zhihu.com/p/24415265


          接下來,獲取圖片的每個像素點的這個通道值,如果此時的色彩值亮于220這個數值,則將該像素點塊的 alpha 通道置為透明。
          來直觀的看下 221 數值的顏色(灰色):


          f415ad3dba4592d9ca262f84085bb966.webp


          255呢(純白色)?


          d24a9c829067ccf92c013a381fca17f1.webp


          這意味著,在我的這段代碼中,只有當你原圖片的背景色,需要在這之間的色差值,才能被變?yōu)橥该鲌D片,而恰好,我們大多數圖片背景都是偏白色,所以,如果當你背景為深黑色系,那么,需要將這段代碼的數值修改下。

          4

          結果展示


          以下面的眼鏡舉例,這是一張白底為底色的眼睛:


          b090c8542e8fdd0c8e8d3f74e09245bb.webp


          找了一張最近B站重做的《頭文字D》中周董圖片:


          1a5b0af9426b78c1f21dff38955cba38.webp


          假如你沒有將眼鏡的圖片背景透明化,那么貼上去圖片最終成像:


          d765662b5efaa115a4f060986fbc0e7a.webp


          如果眼鏡背景透明化了,那么貼上去的圖片則是這樣的:


          910a6d3b70ce4b64a9dee19576679900.webp


          至于如何將眼睛用技術手段覆蓋在周董眼睛上,將在下一篇中介紹。


          5

          總結


          圖片透明化,如果做設計的或者個人網站時候,經常會用到,有些網站在設計 logo 時,logo的圖片背景透明化,才能完美符合網站的底層色彩去呈現,類似抖音官網的這樣:

          5320b4b2612df1b65354d47f210904ce.webp



          好啦,本篇內容就到這里,如果你有什么想說的,歡迎評論區(qū)留言。
          一句很雞湯的話送給大家:“機會往往是留給有準備的人”。有些東西,看到了,可以提前布局,靜靜地等待"熱潮"的到來。
          PS:本篇代碼很簡短,就不上傳到 github 了。


          題圖 上海夜景?-?pexels -?Manuel Joseph



          ▼往期精彩回顧▼模擬恐怖片里的"跳字特效"用Python鬼畜特朗普照片,了解下?




          瀏覽 92
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久婷婷视屏 | 另类综合激情 | 国产精品天堂 | 操老女人视频 | 精品一区入口 |