图片卡通化

Posted JAIR_FOREVER

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片卡通化相关的知识,希望对你有一定的参考价值。

用Python调用百度API的方式实现图片的卡通化

第一步,在百度AI平台 https://ai.baidu.com/创建应用。路径如下图所示:

创建应用后的效果如下:

第二步,编码实现:

import base64
import requests

def get_access_token():
    # 获取token的API
    url = 'https://aip.baidubce.com/oauth/2.0/token'
    # 获取access_token需要的参数
    params = 
        # 固定参数
        'grant_type':'client_credentials',
        # 必选参数,传入你的API Key上图所示
        'client_id':'你的API Key',
        # 必选参数,传入你的Secret Key上图所示
        'client_secret':'你的Secret Key'
    
    # 发送请求,获取响应数据
    response = requests.post(url, params)
    # 将响应的数据转成字典类型,然后取出access_token
    access_token = eval(response.text)['access_token']
    # 将access_token返回
    return access_token

def img2Cartoon(img):
    # 头像动漫化的API
    url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime'
    # 以二进制的方式读取原始图片
    origin_im = open(img, 'rb')
    # 将图片进行base64编码
    img = base64.b64encode(origin_im .read())
    # 关闭原图片
    origin_im.close()

    # 请求的headers信息,固定写法
    headers = 'content-type':'application/x-www-form-urlencoded'

    # 请求的参数
    params = 
        # 开始获取的access_token
        'access_token':get_access_token(),
        # 图片的base64编码
        'image':img,
    
    # 发送请求
    response = requests.post(url, data=params, headers=headers)
    # 对响应结果进行处理
    if response:
        # 打开一个文件
        f = open('result.jpg', 'wb')
        # 获取动漫头像
        anime = response.json()['image']
        # 对返回的头像进行解码
        anime = base64.b64decode(anime)
        # 将头像写入文件当中
        f.write(anime)
        f.close()

if __name__ == '__main__':
    #原图名称20210614111627.jpg
    img2Cartoon('20210614111627.jpg')

运行原图和动漫图效果如下:

以上是关于图片卡通化的主要内容,如果未能解决你的问题,请参考以下文章

图片卡通化

图片卡通化

Meanshift filter实现简单图片的卡通化效果

卡通化-看看二次元的你长什么样

Python图像卡通化animegan2-pytorch实例演示

基于ONNX的人物卡通化