Python OpenCV實現人物動漫化效果
前言
前幾天玩抖音,發現一個人像動漫化的操作,覺得很好玩兒。我心想:python既然這麼強大,是不是也可以使用python程序來實現這樣一個操作呢?
哈哈!我自己當然是沒有這個本事編寫這樣一個牛逼的程序出來,但是百度可以呀,並且還很好用。百度AI開放平臺給我們提供瞭完整的接口,甚至貼心的將代碼都給我們寫好瞭。這些接口還支持很多主流語言都呢,像Java、Python、PHP、C#等,我們做的就是直接調用它即可。
效果怎麼樣呢?我們先來看看下方的對比圖吧。
效果展示
第一組古風美女——
原圖——
效果圖——
啊……西湖的水 我的淚……這張圖動漫化的超級完美尤其是那個手部,除瞭臉一切都好!!!
第二組真人cos——
原圖——
效果圖——
大傢選擇圖片動漫化的話 慎重點兒哈~有的挺好,有的還是挺醜的!哈哈哈
代碼展示
import requests, base64 # 這個函數的操作是為瞭獲取access_token參數 def get_access_token(): url = 'https://aip.baidubce.com/oauth/2.0/token' data = { 'grant_type': 'client_credentials', # 固定值 'client_id': '3j8EWb6rgg..SPY2X693LBy', # 在開放平臺註冊後所建應用的API Key 'client_secret': 'Px9KZuU0Gl...jTKktoCopnIWEiF57gf' # 所建應用的Secret Key } res = requests.post(url, data=data) res = res.json() #print(res) access_token = res['access_token'] return access_token # 下面的代碼就是API文檔中的代碼,直接搬過來使用即可。 request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime" f = open('zhao.jpg', 'rb') # 二進制方式打開圖片文件 img = base64.b64encode(f.read()) # 圖像轉為base64的格式,這是百度API文檔中要求的 params = {"image":img} access_token = '24.11731cd1f0...9f9b3a930f917f3681b.2592000.1596894747.282335-21221990' request_url = request_url + "?access_token=" + get_access_token() headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) res = response.json() # 前面我們講述瞭這個請求返回的是一個字典,其中一個鍵就是image,代表的是處理後的圖像信息。 # 將這個圖像信息寫入,得到最終的效果圖。 if res: f = open("kouzhao4.jpg", 'wb') after_img = res['image'] after_img = base64.b64decode(after_img) f.write(after_img) f.close()
註意
尋找 API Key 和 Secret Key首先登陸百度智能雲的網址。
百度智能雲
https://login.bce.baidu.com/
到此這篇關於Python OpenCV實現人物動漫化效果的文章就介紹到這瞭,更多相關Python OpenCV人物動漫化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python實現老照片修復之上色小技巧
- python調用文字識別OCR輕松搞定驗證碼
- Python實現復制文檔數據
- python 利用百度API進行淘寶評論關鍵詞提取
- Python實現自動化刷抖音的實例