python使用百度云API接口图片卡通化

python使用百度云API接口图片卡通化:

import requests
import base64

class AnimeDemo:
    def __init__(self,AK,SK):
        self.AK=AK
        self.SK=SK
        self.access_token=self.get_access_token()

    def get_access_token(self):
        token_host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={ak}&client_secret={sk}'.format(
            ak=self.AK, sk=self.SK)
        header = {'Content-Type': 'application/json; charset=UTF-8'}
        response = requests.post(url=token_host, headers=header)
        content = response.json()
        access_token = content.get("access_token")
        return access_token

    def baidu_selfie_anime(self,image_path,save_path):
        request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
        # 二进制方式打开图片文件
        f = open(image_path, 'rb')
        img = base64.b64encode(f.read())
        params = {"image": img}
        request_url = request_url + "?access_token=" + self.access_token
        headers = {'content-type': 'application/x-www-form-urlencoded'}
        try:
            response = requests.post(request_url, data=params, headers=headers)
            if response.status_code==200:
                result= response.json()
                image=result.get("image")
                if image:
                    img_data=base64.b64decode(image)
                    with open(save_path,"wb") as f:
                        f.write(img_data)
                    return {"msg":"完成"}
            return {"msg":"失败"}
        except Exception as e:
            return {"msg":"失败:%s"%e}

if __name__ == '__main__':
    AK = "yEEMam*************b0eb"  # 官网获取的AK 需要你先开通和创建应用
    SK = "4wOgjke******************jh1BI"  # 官网获取的SK
    anime_obj = AnimeDemo(AK=AK, SK=SK)
    anime_obj.baidu_selfie_anime("D:\\Py-thon\\pyhon-yunwei\\2345.jpg",'D:\\Py-thon\\pyhon-yunwei\\23456.jpg')	#填入自己的原图片路径和存储的新图片路径

执行结果:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值