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_credentials&client_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_credentials&client_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_credentials&client_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_credentials&client_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_credentials&client_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人像动漫化内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python爬虫智能翻页批量下载文件的实例详解

    python爬虫遇到爬取文件内容时,需要一页页的翻页爬取,这样很是麻烦,其实可以获取每个列表信息下的文件名和文件链接,让文件名和文件链接处理为列表,保存后下载,实现智能翻页批量下载文件,本文以以京客隆为例,批量下载文件,如财务资料,他的每一份报告都是一份pdf格式的文档.以此页面为目标,下载他每个分类的文件python爬虫实战之智能翻页批量下载文件. 1.引入库 import requests import pandas as pd from lxml import etree import r

  • python实现人像动漫化的示例代码

    利用百度api实现人像动漫化 百度API地址:https://ai.baidu.com/tech/imageprocess/selfie_anime 技术文档:https://ai.baidu.com/ai-doc/IMAGEPROCESS/Mk4i6olx5 注册百度账号,开通实现人像动漫化,创建应用. # encoding:utf-8 import requests import base64 # client_id 为官网获取的AK, client_secret 为官网获取的SK host

  • python爬虫实例之获取动漫截图

    引言 之前有些无聊(呆在家里实在玩的腻了),然后就去B站看了一些python爬虫视频,没有进行基础的理论学习,也就是直接开始实战,感觉跟背公式一样的进行爬虫,也算行吧,至少还能爬一些东西,hhh.我今天来分享一个我的爬虫代码. 正文 话不多说,直接上完整代码 ps:这个代码有些问题 每次我爬到fate的图片它就给我报错,我只好用个try来跳过了,如果有哪位大佬能帮我找出错误并给与纠正,我将不胜感激 import requests as r import re import os import t

  • python实现智能语音天气预报

    python编写的语音天气预报 本系统主要包括四个函数: 1.获取天气数据 1.输入要查询天气的城市 2.利用urllib模块向中华万年历天气api接口请求天气数据 3.利用gzip解压获取到的数据,并编码utf-8 4.利用json转化成python识别的数据,返回为天气预报数据复杂形式的字典(字典中的字典) 2.输出当天天气数据 1.格式化输出当天天气,包括:天气状况,此时温度,最高温度.最低温度,风级,风向等. 3,语音播报当天天气 1.创建要输出的语音文本(weather_forecas

  • vscode如何安装汉化和Python智能感知

    Visual Studio Code是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化.软件跨平台支持 Win.Mac 以及 Linux. 本文将介绍如何安装汉化和Python智能感知. 下载&安装 VSCode是免费的,因此我们不必像Pycharm一样想办法寻找绿化方法 直接官网下载安装包 https://code.visualstud

  • python实现人工智能Ai抠图功能

    自己是个PS小白,没办法只能通过技术来证明自己. 话不多说,直接上代码 from removebg import RemoveBg import requests import os if __name__ == '__main__': path = '%s\picture'%os.getcwd() ispath = os.path.exists(path) if not ispath: os.mkdir(path) response = requests.post( 'https://api.

  • Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答

    Python 很强大其原因就是因为它庞大的三方库 , 资源是非常的丰富 , 当然也不会缺少关于音频的库 关于音频, PyAudio 这个库, 可以实现开启麦克风录音, 可以播放音频文件等等,此刻我们不去了解其他的功能,只了解一下它如何实现录音的 首先要先 pip 一个 PyAudio pip install pyaudio 一.PyAudio 实现麦克风录音 然后建立一个py文件,复制如下代码 import pyaudio import wave CHUNK = 1024 FORMAT = py

  • Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现

    简单的问答已经实现了,那么问题也跟着出现了,我不能确定问题一定是"你叫什么名字",也有可能是"你是谁","你叫啥"之类的,这就引出了人工智能中的另一项技术: 自然语言处理(NLP) : 大概意思就是 让计算机明白一句话要表达的意思,NLP就相当于计算机在思考你说的话,让计算机知道"你是谁","你叫啥","你叫什么名字"是一个意思 这就要做 : 语义相似度 接下来我们用Python大法来实

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

    一.目标 之前无意中看到有某位博主写过人像动漫化这样的文章,看着还挺好玩,所以我也想尝试一下. 利用百度智能云中的人工智能,对图片进行处理达到人像动漫化的效果. 二.准备工作 1.百度云智能账号创建 2.图像特效应用 3.开发环境python3.7+pycharm 首先要注册一个百度智能云账号,并创建这个图像特效应用 三.操作流程 3.1 阅读官方文档 当我们要使用一个我们不太了解的东西时,阅读官方文档无疑是最重要的,官方文档一般都写的特别详细,对每一个功能描述的很细节,我们先来看一下 而且这里

  • Unity 百度AI实现人像动漫化效果

    接口介绍: 运用对抗生成网络技术,结合人脸检测.头发分割.人像分割等技术,为用户量身定制千人千面的二次元动漫形象,并支持通过参数设置,生成二次元动漫人像. 创建应用: 在产品服务中搜索图像增强与特效,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是人像动漫画接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 人像动漫化接口响应数据结构 /// </summary> [Serializable]

  • Python实战项目用PyQt5制作漫画脸GUI界面

    目录 最终效果 前言 1.PyQt5的安装. 1.PyQt5库的安装. 2.qt designer 布局的使用. 1:打开这个设计师 2:创建一个窗口 3:设计界面,用鼠标拖动左边的控件. 4:ui转化为py 5:在python上面运行转化后的py文件 6:运行py文件 3.百度智能云api的调用. 4.调控界面的控件. 5.最终成果 6.总结 最终效果 前言 这是最近在学qt这个东西,然后又学会了调用api,然后就想了用pyqt5做一个GUI界面,后期也可以打包分享给其他人使用,所以就最近就写

  • Python实战之实现截图识别文字

    目录 前言 一.获取百度智能云token 二.百度借口调用 三.搭建窗口化的程序以便于使用 四.实现截图的自动保存 五.将识别到的文字输出显示在窗口文本框中并将文字发送到剪切板 六.提取识别后文字中的中(英)文 前言 系统:win10 Python版本:python3.8.6 pycharm版本:pycharm 2021.1.2(Professional Edition) 完整代码下载:Baidu_Ocr.py-Python 一.获取百度智能云token 百度智能云登录后找到人工智能界面下的文字

  • python实战之PyQt5实现漫画脸

    目录 最终效果 前言 1.PyQt5的安装. 2.qt designer 布局的使用. 3.百度智能云api的调用. 4.调控界面的控件. 5.最终成果 6.总结 最终效果 前言 这是最近在学qt这个东西,然后又学会了调用api,然后就想了用pyqt5做一个GUI界面,后期也可以打包分享给其他人使用,所以就最近就写了一个简便的gui界面,有点不好看,大家凑合看一下,主要是学思路的哈! 1.PyQt5的安装. 1.PyQt5库的安装. PyQt5的安装有两个办法. 1:pip install -x

  • Python OpenCV实现人物动漫化效果

    目录 前言 效果展示 代码展示 前言 前几天玩抖音,发现一个人像动漫化的操作,觉得很好玩儿.我心想:python既然这么强大,是不是也可以使用python程序来实现这样一个操作呢? 哈哈!我自己当然是没有这个本事编写这样一个牛逼的程序出来,但是百度可以呀,并且还很好用.百度AI开放平台给我们提供了完整的接口,甚至贴心的将代码都给我们写好了.这些接口还支持很多主流语言都呢,像Java.Python.PHP.C#等,我们做的就是直接调用它即可. 效果怎么样呢?我们先来看看下方的对比图吧. 效果展示

  • Python实战之实现百度智能图片识别

    这是我们最终的效果,那么我们一起来看一看如何实现吧!超简单易上手哦! 首先我们需要先配置pyqt5的资源,这里就不说关于安装包的问题了(pip或者pycharm可以直接添加解决的问题,不一一赘述),我们直接说环境配置和路径的问题(所有的配置都在FILE -> setting -> Tools -> External Tools里): 1.配置designer.exe 之前没安装过的需要点击加号添加,这里只要注意Working directory和Program的配置正确即可(务必正确,不

  • Python实现对百度云的文件上传(实例讲解)

    环境准备 python3.6 PyCharm 2017.1.3 Windows环境 框架搭建 selenium3.6 安装方法: pip install selenium 实现步骤: 一.步骤分析 1.选择"账号密码登录" 2.用户名.密码输入,登录 3.文件上传 注:本文主要介绍利用selenium包下的webdriver加载Firefox浏览器. 二.元素捕捉 利用火狐浏览器firebug插件复制控件的XPATH路径,注:Python3.6对应Firefox版本40.x,暂不支持最

  • python游戏实战项目之智能五子棋简易版

    目录 导语 正文 总结 导语 前段时间不是制作了一款升级版本五子棋的嘛! 但是居然有粉丝私信我说: "准备拿到代码玩一下ok过去了!太难了准备放收藏夹落灰q@q~" 所噶,今天先放一个简易版本的五子棋给大家看看!学习嘛~从简单到难 还是慢慢来撒~ 学玩这篇可以学下一篇难一点的撒: Pygame实战:下五子棋吗?信不信我让你几步你也赢不了?​​​​​​​ 正文 嘿嘿!这五子棋只有人机对战了哈!不要看人机对战感觉很简单,其实代码量也超多滴. 主要代码:都有注释的撒!就不一步一步介绍了. i

随机推荐