Python 頭像動漫化,這是要穿越到二次元?

2021-10-13 05:38:25 字數 3036 閱讀 6411

很多時候我們都會為頭像發愁,像我這種萬年不換頭像的鹹魚從來沒有這種煩惱。但是吧,有個個性化的頭像還是非常有趣的,例如用自己的漫畫來做頭像,那麼用python如何實現呢?我打算把這個小技巧給大家分享。

在我多次測試後,發現女生頭像的生成還是比較不錯的,而且最好是正面照。而男生動漫頭像的生成就有點差強人意了,大家可以自己試試,下面我們看看我用有村大妹子生成的兩張,我們先看第一張:

接下來是第二張,我用的是墊底辣妹中的形象:

兩張效果都還可以,主要還是人物的頭部動漫化了,其它部分只是趨於動漫的風格。不過我覺得還是很可以的。

實現人像動漫化需要用到兩個介面,乙個用來獲取access_token,另乙個則是用來獲取動漫頭像,我們來獲取access_token:

import requests

defget_access_token()

:# 獲取token的api

url =

''# 獲取access_token需要的引數

params =

# 傳送請求,獲取響應資料

response = requests.post(url, params)

# 將響應的資料轉成字典型別,然後取出access_token

access_token =

eval

(response.text)

['access_token'

]# 將access_token返回

return access_token

這裡我們用到了requests模組,如果沒有安裝的可以在命令列執行下列語句:

pip install requests
接下來就是我們頭像動漫化了:

import base64

import requests

defimg2cartoon

(img)

:# 頭像動漫化的api

url =

''# 以二進位制的方式讀取原始

origin_im =

open

(img,

'rb'

)# 將進行base64編碼

img = base64.b64encode(origin_im .read())

# 關閉原

origin_im.close(

)# 請求的headers資訊,固定寫法

headers =

# 請求的引數

params =

# 傳送請求

response = requests.post(url, data=params, headers=headers)

# 對響應結果進行處理

if response:

# 開啟乙個檔案

)# 獲取動漫頭像

***** = response.json()[

'image'

]# 對返回的頭像進行解碼

***** = base64.b64decode(*****)

# 將頭像寫入檔案當中

f.write(*****)

f.close(

)

我們只需要在main中呼叫img2cartoon函式即可完成動漫頭像的生成,完整**如下:

import base64

import requests

defget_access_token()

:# 獲取token的api

url =

''# 獲取access_token需要的引數

params =

# 傳送請求,獲取響應資料

response = requests.post(url, params)

# 將響應的資料轉成字典型別,然後取出access_token

access_token =

eval

(response.text)

['access_token'

]# 將access_token返回

return access_token

defimg2cartoon

(img)

:# 頭像動漫化的api

url =

''# 以二進位制的方式讀取原始

origin_im =

open

(img,

'rb'

)# 將進行base64編碼

img = base64.b64encode(origin_im .read())

# 關閉原

origin_im.close(

)# 請求的headers資訊,固定寫法

headers =

# 請求的引數

params =

# 傳送請求

response = requests.post(url, data=params, headers=headers)

# 對響應結果進行處理

if response:

# 開啟乙個檔案

)# 獲取動漫頭像

***** = response.json()[

'image'

]# 對返回的頭像進行解碼

***** = base64.b64decode(*****)

# 將頭像寫入檔案當中

python實現人像動漫化

技術文件 client id 為官網獲取的ak,client secret 為官網獲取的sk host 官網獲取的ak client secret 官網獲取的sk response requests.get host if response access token response.json ac...

python 爬取優酷動漫

coding utf 8 usr bin env python import re import requests import mysqldb type 熱血 格鬥 戀愛 美少女 校園 搞笑 loli 神魔 機戰 真人 青春 魔法 神話 冒險 運動 競技 童話 親子 教育 勵志 劇情 社會 歷史 ...

Python爬蟲之爬取動漫之家

python爬蟲之爬取動漫之家 小白上手爬蟲第一天,簡單爬取 動漫之家。小小目標 1.爬取5頁的動漫 2.以list返回其動漫位址和動漫名字 簡單粗暴,直接附上原始碼 import requests import re 獲取頁面 defgethtmltext url try kv r request...