欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

程序员文章站 2022-05-22 10:19:32
...



前言

利用python结合百度智能云的人脸特效对人像动漫化,本文介绍了API和SDK两种方法。
这里我在网上找了一张马老师的图片并进行了动漫画效果如下(原图大家还是自己想象吧):
“发生甚么事了”--利用python+百度智能云为人物头像动漫化
【侵权删】


# 一、使用步骤 ## 1.1 打开百度智能云官网搜索人像动漫化

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

1.2、打开第一个搜索结果

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

1.3、点击立即使用

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

1.4、创建应用

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

1.5、获取APPID等参数

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

二、API与SDK的使用

1.API代码

代码如下(示例):

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/11/28 10:00
# @Author  : cc
# @E-mail  : aaa@qq.com
# @Site    : 
# @File    : 图片动漫化.py
# @Software: PyCharm
import requests
import base64


def Get_access_token():
    url = "https://aip.baidubce.com/oauth/2.0/token"
    access_token = ''
    parms = {
        'grant_type': '',
        'client_id': '', # API key
        'client_secret': '' # Secret Key
    }
    res = requests.post(url, parms)
    if res:
        print(res)
        print(res.json()['access_token'])
        access_token = res.json()['access_token']
    return access_token


def tx(access_token):
    url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
    img = r'C:\Users\cc\Pictures\博客\zx.jpg' #要转换的图片
    f = open(img, 'rb')
    img = base64.b64encode(f.read())  # 转码
    parms = {
        "image": img,
        "access_token": access_token
    }
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    res = requests.post(url, parms, headers=headers)
    return res


def get_picture(res):
    filepath = r'C:\Users\cc\Pictures\pic1\5.jpg'  # 图像存放的地址
    if res:
        with open(filepath, 'wb') as f:
            image = res.json()['image']  # 获取返回json格式中image
            image = base64.b64decode(image) # 解码
            f.write(image)
            f.close()
            print("已完成")


if __name__ == '__main__':
    access_token = Get_access_token()
    res = tx(access_token)
    get_picture(res)

2.SDK使用

2.1.首先下载python 的SDK:

传送门
“发生甚么事了”--利用python+百度智能云为人物头像动漫化

2.2.用编译软件打开aip-python-sdk-4.15.1文件夹并在aip目录下创建py文件

“发生甚么事了”--利用python+百度智能云为人物头像动漫化

2.3.SDK代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/11/27 15:54
# @Author  : cc
# @E-mail  : aaa@qq.com
# @Site    : 
# @File    : 图像动漫化.py
# @Software: PyCharm
from aip import AipImageProcess
import base64

""" 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'h'
SECRET_KEY = ''

client = AipImageProcess(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """


def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()


path = r'C:\Users\cc\Pictures\pic1\8.jpg'  # 要创建的图片的路径

image = get_file_content(r'C:\Users\cc\Pictures\博客\9.jpg')
res = client.selfieAnime(image)
image = res['image']  # 提取image参数
image = base64.b64decode(image)  # 将图片从base64解码
with open(path, 'wb') as f:
    f.write(image)
    f.close()
    print("图片动漫化已完成")


总结

人像动漫化还有很多参数可以添加,可以去尝试一下!
一个账号只有500次免费额度

相关标签: 百度云 python