Python調(diào)用騰訊API進行人像動漫化效果實例
1. API獲取
1.確保電腦正確連接網(wǎng)絡(luò)。
2.瀏覽器搜索“騰訊云”,或者輸入網(wǎng)址:
3.進行簡單的注冊、實名認證。
4.新建一個密鑰
5.在搜索框搜索人像變換,點擊控制臺入口下方的人像動漫畫,掃碼實名認證。
6.實名驗證成功之后,就可在此頁面查看API的調(diào)用情況。
7.搜索相關(guān)文檔找到想要的API
8.勾選“只看必要參數(shù)”,隨意選擇一個地區(qū),點擊“發(fā)起調(diào)用”,右邊框中選擇自己熟悉的計算機語言,我選用的是python
2. 代碼調(diào)試
2.1整體結(jié)構(gòu)
2.2 代碼解析
pip 安裝騰訊云SDK:
pip install --upgrade tencentcloud-sdk-python
導入必要的包,輸入申請好的密鑰和密碼,讀取圖片,然后將圖片轉(zhuǎn)碼。
import json from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.ft.v20200304 import ft_client, models import base64 SecretId = "自己的SecretId" SecretKey = "自己的SecretKey" img_dir = "C:/Users/Ben/Desktop/img/flower.jpg" with open(img_dir, 'rb') as f: base64_data = base64.b64encode(f.read()) base64_code = base64_data.decode()
問:圖片在發(fā)送之前被編碼成了啥? 答:一堆神秘的字符串
調(diào)用API處理圖片, 接收數(shù)據(jù),解碼顯示。
pip 安裝騰訊云SDK:
try: cred = credential.Credential(SecretId, SecretKey) httpProfile = HttpProfile() httpProfile.endpoint = "ft.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = ft_client.FtClient(cred, "ap-beijing", clientProfile) req = models.FaceCartoonPicRequest() req.Image = base64_code resp = client.FaceCartoonPic(req) print(resp) json_data = resp.to_json_string() bb = json.loads(json_data) image = bb["ResultImage"] with open('C:/Users/Ben/Desktop/img/flower2.jpg', 'wb') as f: f.write(base64.b64decode(image)) f.close()
問:API調(diào)用成功返回給電腦了什么?
答:返回一個字典類型的數(shù)據(jù)。
2.3完整代碼
import json from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.ft.v20200304 import ft_client, models import base64 SecretId = "自己的SecretId" SecretKey = "自己的SecretKey" img_dir = "C:/Users/Ben/Desktop/img/flower.jpg" with open(img_dir, 'rb') as f: base64_data = base64.b64encode(f.read()) base64_code = base64_data.decode() try: cred = credential.Credential(SecretId, SecretKey) httpProfile = HttpProfile() httpProfile.endpoint = "ft.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = ft_client.FtClient(cred, "ap-beijing", clientProfile) req = models.FaceCartoonPicRequest() req.Image = base64_code resp = client.FaceCartoonPic(req) print(resp) json_data = resp.to_json_string() bb = json.loads(json_data) image = bb["ResultImage"] with open('C:/Users/Ben/Desktop/img/flower2.jpg', 'wb') as f: f.write(base64.b64decode(image)) f.close() except TencentCloudSDKException as err: print(err)
2.4效果展示:
3. 問題與分析
API返回的參數(shù)需要使用 “ .to_json_string() “像數(shù)據(jù)格式轉(zhuǎn)換為json可讀的形式否則如下圖:
如果上傳的照片沒有人臉:
總結(jié)
到此這篇關(guān)于Python調(diào)用騰訊API進行人像動漫化效果的文章就介紹到這了,更多相關(guān)Python人像動漫化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python數(shù)據(jù)挖掘使用Evidently創(chuàng)建機器學習模型儀表板
在本文中,我們將探索 Evidently 并創(chuàng)建交互式報告/儀表板。有需要的朋友歡迎大家收藏學習,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-11-11Python的控制結(jié)構(gòu)之For、While、If循環(huán)問題
這篇文章主要介紹了Python的控制結(jié)構(gòu)之For、While、If循環(huán)問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06