• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实战之百度智能云使人像动漫化

    一、目标

    之前无意中看到有某位博主写过人像动漫化这样的文章,看着还挺好玩,所以我也想尝试一下。

    利用百度智能云中的人工智能,对图片进行处理达到人像动漫化的效果。

    二、准备工作

    1.百度云智能账号创建

    2.图像特效应用

    3.开发环境python3.7+pycharm

    首先要注册一个百度智能云账号,并创建这个图像特效应用

    三、操作流程

    3.1 阅读官方文档

    当我们要使用一个我们不太了解的东西时,阅读官方文档无疑是最重要的,官方文档一般都写的特别详细,对每一个功能描述的很细节,我们先来看一下


    而且这里有案例,这里我使用的是python

    3.2 开始实现鉴权

    因为调用这么个接口api要进行鉴权,就是官方文档说得到access_token,如何鉴权呢?


    import requests
    import pprint
    def get_access_token(id,secret):
        get_access_token_url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentialsclient_id='+id+'client_secret='+secret
        response=requests.get(get_access_token_url)
        pprint.pprint(response.json())
    id='*******************'
    secret='******************'
    get_access_token(id,secret)
    

    这里的id和secret就是创建应用的appkey和secretkey:

    上述代码打印结果有很多,阅读官网文档得知,我们这里只需要得到access_token就OK了

    修改上述代码以获取access_token

    import requests
    def get_access_token(id,secret):
        get_access_token_url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentialsclient_id='+id+'client_secret='+secret
        response=requests.get(get_access_token_url)
        content=response.json()
        access_token=content['access_token']
        print(access_token)
    id='*******************'
    secret='******************'
    get_access_token(id,secret)
    

    3.3 人像动漫化实现

    正片开始

    修改代码

    import requests
    import pprint
    import base64
    def get_access_token(id,secret):
        get_access_token_url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentialsclient_id='+id+'client_secret='+secret
        response=requests.get(get_access_token_url)
        content=response.json()
        access_token=content['access_token']
        return access_token
    
    def Animation(img_file,access_token):
        request_url='https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime'
        f=open(img_file,'rb')
        image=base64.b64encode(f.read())
        params = {"image":image}
        request_url = request_url + "?access_token=" + access_token
        headers = {'content-type': 'application/x-www-form-urlencoded'}
        response = requests.post(request_url, data=params, headers=headers)
        pprint.pprint(response.json())
    def main():
        img_file = '1.jpg'#图片地址
        id = '**************************'
        secret = '**************************'
        access_token = get_access_token(id, secret)
        Animation(img_file, access_token)
    if __name__ == '__main__':
        main()
    

    这时可以得到一系列的返回值

    我们这里只要image

    获取image值

    修改代码

    import requests
    import pprint
    import base64
    def get_access_token(id,secret):
        get_access_token_url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentialsclient_id='+id+'client_secret='+secret
        response=requests.get(get_access_token_url)
        content=response.json()
        access_token=content['access_token']
        return access_token
    
    def Animation(img_file,access_token):
        request_url='https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime'
        f=open(img_file,'rb')
        image=base64.b64encode(f.read())
        params = {"image":image}
        request_url = request_url + "?access_token=" + access_token
        headers = {'content-type': 'application/x-www-form-urlencoded'}
        response = requests.post(request_url, data=params, headers=headers)
        image_content=response.json()
        image=image_content['image']
        print(image)
    def main():
        img_file = '1.jpg'#图片地址
        id = '**************************'
        secret = '**************************'
        access_token = get_access_token(id, secret)
        Animation(img_file, access_token)
    if __name__ == '__main__':
        main()
    

    获取到一串base64编码的图片,这显然快得到我们想要的东西了

     with open('result.jpg','wb') as f:
            f.write(base64.b64decode(image))

    保存到本地

    看一下对比


    呃呃呃,这。。。。还好吧,哈哈哈

    四、完整代码如下

    import requests
    import pprint
    import base64
    def get_access_token(id,secret):
        get_access_token_url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentialsclient_id='+id+'client_secret='+secret
        response=requests.get(get_access_token_url)
        content=response.json()
        access_token=content['access_token']
        return access_token
    
    def Animation(img_file,access_token):
        request_url='https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime'
        f=open(img_file,'rb')
        image=base64.b64encode(f.read())
        params = {"image":image}
        request_url = request_url + "?access_token=" + access_token
        headers = {'content-type': 'application/x-www-form-urlencoded'}
        response = requests.post(request_url, data=params, headers=headers)
        image_content=response.json()
        image=image_content['image']
        with open('result.jpg','wb') as f:
            f.write(base64.b64decode(image))  
    def main():
        img_file = '1.jpg'#图片地址
        id = '**************************'
        secret = '**************************'
        access_token = get_access_token(id, secret)
        Animation(img_file, access_token)
    if __name__ == '__main__':
        main()
    

    五、还能这么玩?

    厉害了,还能加口罩,试一下

    修改代码

    params = 
    {
    "image":image,"type":'anime_mask',"mask_id":1
    }
    #mask_id 1-8的整数,就用个1吧

    看一下效果

    啧啧啧

    到此这篇关于python实战之百度智能云使人像动漫化的文章就介绍到这了,更多相关python人像动漫化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python实现人像动漫化的示例代码
    • python爬虫实例之获取动漫截图
    • python爬虫智能翻页批量下载文件的实例详解
    • vscode如何安装汉化和Python智能感知
    • python实现智能语音天气预报
    • python实现人工智能Ai抠图功能
    • Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
    • Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
    上一篇:python实战之德州扑克第三步-比较大小
    下一篇:Python获取秒级时间戳与毫秒级时间戳的示例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实战之百度智能云使人像动漫化 python,实战,之,百度,智能,