import json
import cv2
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.iai.v20200303 import iai_client, models
import base64
import matplotlib.pyplot as plt
%matplotlib inline
import warnings
warnings.filterwarnings("ignore")
SecretId="xxxxxxx"
SecretKey="xxxxxxxxxx"
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.fmu.v20191213 import fmu_client, models
try:
cred = credential.Credential(SecretId, SecretKey)
httpProfile = HttpProfile()
httpProfile.endpoint = "fmu.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = fmu_client.FmuClient(cred, "ap-beijing", clientProfile)
with open("./images/test3.jpg","rb") as file:
img=base64.b64encode(file.read())
req = models.BeautifyPicRequest()
"""
Whitening 否 Integer 美白程度,取值范围[0,100]。0不美白,100代表最高程度。默认值30。
Smoothing 否 Integer 磨皮程度,取值范围[0,100]。0不磨皮,100代表最高程度。默认值10。
FaceLifting 否 Integer 瘦脸程度,取值范围[0,100]。0不瘦脸,100代表最高程度。默认值70。
EyeEnlarging 否 Integer 大眼程度,取值范围[0,100]。0不大眼,100代表最高程度。默认值70。
RspImgType 否 String 返回图像方式(base64 或 url ) ,二选一。url有效期为1天。
"""
params = {
"Image": str(img, encoding='utf-8'),
"Whitening": 30,
"Smoothing": 10,
"FaceLifting": 70,
"EyeEnlarging": 70,
"RspImgType": "base64",
}
req.from_json_string(json.dumps(params))
resp = client.BeautifyPic(req).to_json_string()
resp=json.loads(resp)
print(resp)
except TencentCloudSDKException as err:
print(err)
{'ResultImage': 'xxxxxxx', 'ResultUrl': '', 'RequestId': '5f5bca6f-0396-4346-9f66-5521c7197b55'}
resp['ResultImage']
type(resp['ResultImage'])
str
with open("./images/test5.jpg","wb") as file:
file.write(base64.b64decode(resp['ResultImage']))