前言
最近上網沖浪的時候看到了一個有趣的東西,叫做『人物動漫化』,作為老大的粉絲,怎么可能放過這個機會,讓我們先看看效果圖:
這就是這次要用Python搞的事情啦,我們會利用百度AI的人物動漫化技術,結合Python對圖片進行處理,生成動漫圖片,

開始敲代碼
老規矩先來敲代碼,匯入所需庫
import base64 import requests
接下來利用百度AI的賬號獲取token,得到呼叫權限
def get_access_token(): # 獲取token的API url = 'https://aip.baidubce.com/oauth/2.0/token' # 獲取access_token需要的引數 params = { # 固定引數 'grant_type':'client_credentials', # 必選引數,傳入你的API Key 'client_id':'sUxvp1MQkEXLuzkCY10SP8M1', # 必選引數,傳入你的Secret Key 'client_secret':'miK5YLBsMGvGC84q7eFtGxiAefmIS8sq' } # 發送請求,獲取回應資料 response = requests.post(url, params) # 將回應的資料轉成字典型別,然后取出access_token access_token = eval(response.text)['access_token'] # 將access_token回傳 return access_token
然后撰寫我們的圖片處理代碼,來進行人物的動漫化處理,并保存到本地,呼叫我們的函式,輸入我們要處理的圖片地址和處理后的存盤地址即可
def img2Cartoon(img): # 頭像動漫化的API url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime' # 以二進制的方式讀取原始圖片 origin_im = open(img, 'rb') # 將圖片進行base64編碼 img = base64.b64encode(origin_im .read()) # 關閉原圖片 origin_im.close() # 請求的headers資訊,固定寫法 headers = {'content-type':'application/x-www-form-urlencoded'} # 請求的引數 params = { # 開始獲取的access_token 'access_token':get_access_token(), # 圖片的base64編碼 'image':img, } # 發送請求 response = requests.post(url, data=https://www.cnblogs.com/hhh188764/p/params, headers=headers) # 對回應結果進行處理 if response: # 打開一個檔案 f = open('01.jpg', 'wb') # 獲取動漫頭像 anime = response.json()['image'] # 對回傳的頭像進行解碼 anime = base64.b64decode(anime) # 將頭像寫入檔案當中 f.write(anime) f.close() if __name__ == '__main__': img2Cartoon('1.jpg')
結果展示
ennnn,沒錯我也是超級小杰的粉絲,所以就一起來吧
50行左右的Python代碼就能把圖片做成動漫風格,大家可以去嘗試一下,很多人的微信頭像又可以更換了呢~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95151.html
標籤:Python
下一篇:設定字體樣式
