最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 四十九、使用百度云API接口实现手势识别和抠图

    正文概述 掘金(刘润森)   2020-11-29   558

    @Author:Runsen

    RESTAPI

    API已在软件、Web和移动应用程序开发领域无处不在。API(Application Programming Interface)是指应用程序编程接口,包括在操作系统中的动态链接库文件例如dll\so,或者基于TCP层的socket连接,用来提供预定义的方法和函数,调用者无需访问源码和理解内部原理便可实现相应功能。

    你应该经常去调用过 API ,通过一定的规则就能快速使用云市场提供的服务,比如你想要使用人脸识别,就有相应的 API 供你使用:

    Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。(引用自百度百科)

    网络应用程序,分为前端和后端两个部分。REST 的 API 配合JSON格式的数据交换,使得前后端分离、数据交互变得非常容易,而且也已经成为了目前Web领域最受欢迎的软件架构设计模式。

    实现手势识别

    由于不注重算法模型的,因此个人使用的是百度手势识别API接口来实现手势识别。

    百度Ai开发大脑:https://ai.baidu.com/

    四十九、使用百度云API接口实现手势识别和抠图

    在技术文档中需要创建一个应用来获取APP_IDAPI_KEYSECRET_KEY

    四十九、使用百度云API接口实现手势识别和抠图

    参考官方的技术文档:https://ai.baidu.com/ai-doc/BODY/4k3cpywrv

    四十九、使用百度云API接口实现手势识别和抠图

    获取Access Token:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu

    下面我们对一张图片调用API接口,实现手势识别

    四十九、使用百度云API接口实现手势识别和抠图

    具体代码如下。

    import requests
    import base64
    API_KEY = '0EGiM1wDAH5kmFAvhYVLYCbs'
    SECRET_KEY = 'KVugHxxu4uq203b111SwVY2w98Cd9D70'
    # client_id 为官网获取的AK, client_secret 为官网获取的SK
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+ API_KEY + '&client_secret=' + SECRET_KEY
    response = requests.get(host)
    if response:
        access_token = response.json()['access_token']
        if access_token:
            request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/gesture"
            # 二进制方式打开图片文件
            f = open('1.png', 'rb')
            img = base64.b64encode(f.read())
            params = {"image":img}
            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).json()
            if response['result'][0]:
                print(response['result'][0]['classname'])
    

    四十九、使用百度云API接口实现手势识别和抠图

    实现人脸抠图

    实现人脸抠图,我用过scikit-image,opencv,对于百度深度学习框架paddlepaddle,中文名称叫“飞桨”,几行代码也可以搞定,使用的模型是deeplabv3p_xception65_humanseg,其本身还是调用API接口。

    下面我就直接展示一下效果图吧。百度AI将人脸系列封装到了一个AipBodyAnalysis类上。返回的是图片的Base64的字符串,最后使用base64.b64decode转化成图片即可。

    下面我就采用自己的头像进行一个简单的调用API接口进行人脸抠图

    四十九、使用百度云API接口实现手势识别和抠图

    具体代码如下。

    from aip import AipBodyAnalysis
    #引入Baidu_API类
    """ 你的 APPID AK SK """
    APP_ID = '23061934'
    API_KEY = '0EGiM1wDAH5kmFAvhYVLYCbs'
    SECRET_KEY = 'KVugHxxu4uq203b111SwVY2w98Cd9D70'
    client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)
    
    # 人像分割 实现抠图
    def bodySeg(filePath, outPath):
        """ 读取图片 """
        with open(filePath, 'rb') as fp:
            result = client.bodySeg(fp.read())
        labelmap = base64.b64decode(result['foreground'])
        with open(outPath, 'wb') as fp:
            fp.write(labelmap)
      
    bodySeg('1.jpg','2.jpg')
    

    四十九、使用百度云API接口实现手势识别和抠图

    本文主要介绍和使用接口的请求方式,通过访问得到Json数据,然后通过键值对取值即可。




    起源地下载网 » 四十九、使用百度云API接口实现手势识别和抠图

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元