【人工智能】基于百度AI+Python编程的简单应用:关于人像照片动漫化的分析实现(可进行批量化处理)——教你看到二次元中的自己

        前两天博主刚写过一篇文章:【人工智能】基于百度AI和Python编程的简单实现:通过QQ/Tim截图进行文本识别功能的分析实战详解——以获取百度文库付费内容为例。由于这两天博主摸鱼时又一次使用到了百度AI,因此可以对比着这两篇文章进行学习。



前期准备

百度AI前期准备

        首先打开百度AI的官方网站(https://ai.baidu.com/),找到“人脸与人体识别”中的“人像动漫化”,点击进入人像动漫化
在这里插入图片描述
        老样子,我们进去“人像动漫化”页面后点击立即使用,可以进入百度智能云的登录界面,扫码登录。

在这里插入图片描述
        点击“图像增强与特效”里面的“创建应用”。其中,应用名字和应用描述随意写、其他默认即可。
在这里插入图片描述
        创建成功后,可以发现出现了“AppID”、“API Key”、“Secret Key”。这三项内容待会在Python编程用户鉴权时需要用到,必须提前申请好。
        有了“AppID”、“API Key”、“Secret Key”后,我们点击左侧的“技术文档”。
在这里插入图片描述
        与上篇文章不同的是,这次我们使用API文档而不是SDK文档。点击“API文档”,找到“图像特效”中的“人像动漫化”,打开后可以看到人像动漫化相关的接口说明。
在这里插入图片描述
        下拉浏览接口说明,复制其中的请求代码示例中的Python代码内容,粘贴到Pycharm中作为主要代码基础模板

# encoding:utf-8

import requests
import base64

'''
人像动漫化
'''

request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read())

params = {
   "image":img}
access_token = '[调用鉴权接口获取的token]'
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)
if response:
    print (response.json())

在这里插入图片描述

相关知识前期准备:API和SDK的含义及区别

API

        应用程序编程接口,全称:Application Programming Interface。一般是指一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节.

        其实就是别人已经写好的可以实现特定功能的函数,而你只需要根据他提供好的接口,也就是调用他的方法,传入他规定的参数,然后这个函数就会帮你实现这些功能。

SDK

        软件开发工具包,全称:Software Development Kit。一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

        其实就是指由第三方服务商提供的实现软件产品某项功能的工具包,相当于很多API和其他文件的集合体,可以用这个集合体完成某一个事情。

SDK和API的区别和联系

        1.API是一个具体的函数、一个确定的功能,已经明确了它的作用(比如做加法)。
        2.SDK就像是很多API方法的集合体、是一个工具包。比如需要做加法时,就调用计算机SDK的加法API;需要做减法时,就调用减法API;无论想要完成什么计算,SDK里总有能实现的方法。
        3.SDK除了它提供的完善的接口,还会给你提供相关的开发环境;而API需要的环境必须得自己提供(比如传参)。
        4.SDK相当于开发集成工具环境,API相当于数据接口。在SDK环境下调用API数据。(而这个SDK你可以自己配置或者下载第三方所提供的)

参考博客

        关于API和SDK的个人理解及两者区别

相关知识前期准备:鉴权

        在百度AI前期准备的过程中,我们所复制的Python代码里面有一行很显眼的内容:

access_token = '[调用鉴权接口获取的token]'

        这时候,可能会有小问号有许多朋友了:鉴权?鉴权是什么?
        鉴权(authentication)是指验证用户是否拥有访问系统的权利,涉及的领域主要是信息科学。
        传统的鉴权是通过密码来验证的,但是由于密码经常会被忘记或者遗失,所以这种方式并不可靠。
        为了克服这种鉴权方式的缺点,需要一个更加可靠的鉴权方式。目前的主流鉴权方式是利用认证授权来验证数字签名的正确与否。

鉴权的类别

        鉴权主要包括两个方面:
        ① 用户鉴权,网络对用户进行鉴权,防止非法用户占用网络资源。
        ② 网络鉴权,用户对网络进行鉴权,防止用户接入了非法的网络,被骗取关键信息。
        由于本次API文档主要牵扯到用户鉴权的内容,因此接下来关于鉴权的作用我们主要来说说用户鉴权。

鉴权的作用

        使用鉴权可以用来识别出非法用户。用户鉴权,是对试图接入网络的用户进行鉴权,审核其是否有权访问网络。通过用户鉴权可以保护网络,防止非法盗用;同时通过拒绝假冒合法客户的“入侵”而保护该网络中的客户。

Access Token鉴权的获取

        那么我们重新回到上述代码:

access_token = '[调用鉴权接口获取的token]'

        查看人像动漫化的说明文档,在请求说明中的url参数上可以看到关于access_token的参数的解释说明如下:
        access_token:通过API Key和Secret Key获取的access_token,参考Access Token获取
     

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值