Python調用騰訊API進行人像動漫化效果實例
1. API獲取
1.確保電腦正確連接網(wǎng)絡。
2.瀏覽器搜索“騰訊云”,或者輸入網(wǎng)址:
3.進行簡單的注冊、實名認證。
4.新建一個密鑰

5.在搜索框搜索人像變換,點擊控制臺入口下方的人像動漫畫,掃碼實名認證。

6.實名驗證成功之后,就可在此頁面查看API的調用情況。

7.搜索相關文檔找到想要的API

8.勾選“只看必要參數(shù)”,隨意選擇一個地區(qū),點擊“發(fā)起調用”,右邊框中選擇自己熟悉的計算機語言,我選用的是python

2. 代碼調試
2.1整體結構

2.2 代碼解析
pip 安裝騰訊云SDK:
pip install --upgrade tencentcloud-sdk-python
導入必要的包,輸入申請好的密鑰和密碼,讀取圖片,然后將圖片轉碼。
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ā)送之前被編碼成了啥? 答:一堆神秘的字符串

調用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調用成功返回給電腦了什么?
答:返回一個字典類型的數(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ù)格式轉換為json可讀的形式否則如下圖:

如果上傳的照片沒有人臉:

總結
到此這篇關于Python調用騰訊API進行人像動漫化效果的文章就介紹到這了,更多相關Python人像動漫化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pytorch中的weight-initilzation用法
這篇文章主要介紹了pytorch中的weight-initilzation用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python在windows下實現(xiàn)ping操作并接收返回信息的方法
這篇文章主要介紹了python在windows下實現(xiàn)ping操作并接收返回信息的方法,實例分析了Python實現(xiàn)ping操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

