热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AI图像处理人像动漫化

图像处理人像动漫化百度接口提供的具体实现importrequests,base64#百度AI开放平台鉴权函数defget_access_token():url&

图像处理

人像动漫化

百度接口提供的

 

 具体实现

import requests, base64


# 百度AI开放平台鉴权函数
def get_access_token():
    url = \'https://aip.baidubce.com/oauth/2.0/token\'
    data = {
        \'grant_type\': \'client_credentials\',  # 固定值
        \'client_id\': \'6M7FeQm****c3p0ex1\',  # 在开放平台注册后所建应用的API Key
        \'client_secret\': \'XyyUSrFB*****KyBRI0KFuc\'  # 所建应用的Secret Key
    }
    res = requests.post(url, data=data)
    res = res.json()
    access_token = res[\'access_token\']
    return access_token


def image_process(img_before, img_after, how_to_deal):
    # 函数的三个参数,一个是转化前的文件名,一个是转化后的文件名,均在同一目录下,第三个是图像处理能力选择
    request_url = \'https://aip.baidubce.com/rest/2.0/image-process/v1/\' + how_to_deal
    if how_to_deal == \'style_trans\':  # 判断如果是 图像风格化,需要额外添加一个风格配置
        others = \'cartoon\'  # 风格化参数,具体可设置范围参见下面注释
        \'\'\'
        cartoon:卡通画风格
        pencil:铅笔风格
        color_pencil:彩色铅笔画风格
        warm:彩色糖块油画风格
        wave:神奈川冲浪里油画风格
        lavender:薰衣草油画风格
        mononoke:奇异油画风格
        scream:呐喊油画风格
        gothic:哥特油画风格
        \'\'\'
    else:
        others = \'\'

    file = open(img_before, \'rb\')  # 二进制读取图片
    origin_img = base64.b64encode(file.read())  # 将图片进行base64编码
    headers = {\'Content-Type\': \'application/x-www-form-urlencoded\'}
    data = {
        \'access_token\': get_access_token(),
        \'image\': origin_img
    }

    res = requests.post(request_url, data=data, headers=headers)
    res = res.json()

    if res:
        f = open(img_after, \'wb\')
        after_img = res[\'image\']
        after_img = base64.b64decode(after_img)
        f.write(after_img)
        f.close()


if __name__ == \'__main__\':
    img_before = \'img/me.jpg\'  # 当前目录下的图片
    img_after = img_before.split(\'.\')  # 将原文件名分成列表
    img_after = img_after[0] + \'_1.\' + img_after[1]  # 新生成的文件名为原文件名上加 _1

    image_process(img_before, img_after, \'selfie_anime\')
    # 第三个参数: selfie_anime 为人像动漫化,colourize 图像上色,style_trans 为图像风格化
    print(\'done!\')

生成结果:

 

 还可以给他戴上口罩

只需在data里加上参数:"type":\'anime_mask\',"mask_id":"2"

import requests, base64


# 百度AI开放平台鉴权函数
def get_access_token():
    url = \'https://aip.baidubce.com/oauth/2.0/token\'
    data = {
        \'grant_type\': \'client_credentials\',  # 固定值
        \'client_id\': \'6M7FeQm*****EeDzc3p0ex1\',  # 在开放平台注册后所建应用的API Key
        \'client_secret\': \'XyyUS****BRI0KFuc\'  # 所建应用的Secret Key
    }
    res = requests.post(url, data=data)
    res = res.json()
    access_token = res[\'access_token\']
    return access_token


def image_process(img_before, img_after, how_to_deal):
    # 函数的三个参数,一个是转化前的文件名,一个是转化后的文件名,均在同一目录下,第三个是图像处理能力选择
    request_url = \'https://aip.baidubce.com/rest/2.0/image-process/v1/\' + how_to_deal
    if how_to_deal == \'style_trans\':  # 判断如果是 图像风格化,需要额外添加一个风格配置
        others = \'cartoon\'  # 风格化参数,具体可设置范围参见下面注释
        \'\'\'
        cartoon:卡通画风格
        pencil:铅笔风格
        color_pencil:彩色铅笔画风格
        warm:彩色糖块油画风格
        wave:神奈川冲浪里油画风格
        lavender:薰衣草油画风格
        mononoke:奇异油画风格
        scream:呐喊油画风格
        gothic:哥特油画风格
        \'\'\'
    else:
        others = \'\'

    file = open(img_before, \'rb\')  # 二进制读取图片
    origin_img = base64.b64encode(file.read())  # 将图片进行base64编码
    headers = {\'Content-Type\': \'application/x-www-form-urlencoded\'}
    data = {
        \'access_token\': get_access_token(),
        \'image\': origin_img,
        "type":\'anime_mask\',
        "mask_id":"2"
    }

    res = requests.post(request_url, data=data, headers=headers)
    res = res.json()

    if res:
        f = open(img_after, \'wb\')
        after_img = res[\'image\']
        after_img = base64.b64decode(after_img)
        f.write(after_img)
        f.close()


if __name__ == \'__main__\':
    img_before = \'img/me.jpg\'  # 当前目录下的图片
    img_after = img_before.split(\'.\')  # 将原文件名分成列表
    img_after = img_after[0] + \'_2.\' + img_after[1]  # 新生成的文件名为原文件名上加 _1

    image_process(img_before, img_after, \'selfie_anime\')
    # 第三个参数: selfie_anime 为人像动漫化,colourize 图像上色,style_trans 为图像风格化
    print(\'done!\')

结果如下:

 


推荐阅读
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • Vue中从后端获取JSON字符串的方法
    本文详细探讨了如何在Vue项目中从后端获取JSON字符串,并将其正确解析和显示,对于开发者来说具有较高的实用性和参考价值。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • 本文介绍了在处理财务凭证查询时,如何实现从插入或修改页面返回至原始查询结果页面,并确保数据保持最新状态的方法。通过使用JavaScript和Java的Session管理技术,解决了动态页面中AJAX调用失效的问题。 ... [详细]
  • 本文档详细规划了从基础到高级的软件测试学习路径,包括但不限于测试基础、Linux和数据库、功能测试、Python编程、接口测试、性能测试、金融项目实战、UI自动化测试等内容,旨在为初学者和进阶者提供全面的学习指导。 ... [详细]
  • 本文详细介绍了Elasticsearch中的分页查询机制,包括基本的分页查询流程、'from-size'浅分页与'scroll'深分页的区别及应用场景,以及两者在性能上的对比。 ... [详细]
  • Python Requests模块中的身份验证机制
    随着Web服务的发展,身份验证成为了确保数据安全的重要环节。本文将详细介绍如何利用Python的Requests库实现不同类型的HTTP身份验证,包括基本身份验证、摘要式身份验证以及OAuth 1认证等。 ... [详细]
  • 本文探讨了如何在不同域名下,通过浏览器直接下载PDF文件而非预览的问题,并提供了两种解决方案:一是利用原生JavaScript编写下载函数,二是使用第三方库简化下载流程。 ... [详细]
  • 本文探讨了一个特定的问题:当应用程序通过安装器启动后最小化,再次打开时,会触发窗口丢失错误,导致应用重启,并且之前的异步线程无法正常管理。这一现象在直接从应用图标启动时不会出现。 ... [详细]
  • 教程:如何打造令人印象深刻的GitHub个人主页Readme
    本文将指导您如何创建一个既专业又个性化的GitHub个人主页Readme,通过添加统计数据、常用语言和最近活动等元素,让您的主页更加吸引人。 ... [详细]
  • 优化Nginx中PHP-FPM模块配置以提升性能
    通过调整Nginx与PHP-FPM之间的配置,可以显著提高Web服务器处理PHP请求的速度和效率。本文将详细介绍如何针对不同的应用场景优化PHP-FPM的各项关键参数。 ... [详细]
  • 本文详细介绍了如何利用go-zero框架从需求分析到最终部署至Kubernetes的全过程,特别聚焦于微服务架构中的网关设计与实现。项目采用了go-zero及其生态组件,涵盖了从API设计到RPC调用,再到生产环境下的监控与维护等多方面内容。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
author-avatar
bluelucky2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有