首页 > 分享 > 百度接口实现花卉识别

百度接口实现花卉识别

百度接口实现花卉识别

前言

  近期有一个花卉识别的项目要写,不过在写之前先调用百度接口尝尝鲜。

  虽说直接调用的人家接口比较方便,但是对于第一次写这个东西的人来说一开始也没有什么头绪,只能慢慢摸索,所以我想把整个过程梳理一下,对有这方面想法的小伙伴可以有个参考。

  转载文章请标明出处:juejin.cn/post/684490…

1.平台登录

  首先百度搜索“百度AI开放平台”,点击右侧控制台,进入登录界面,若日常曾使用过百度产品(如百度网盘),可以直接登录。

  接下来要选择具体的服务项,要实现的花卉识别属于图像识别,因此进入图像识别的控制面板。(图像识别中除花卉识别外,还包括logo识别、动物识别、车型识别等。)

2.创建应用

  创建应用是为自己的项目申请接口权限,申请成功后才能正式调用。

  点击“创建应用”,进入申请界面。

  如实填写后点击“创建”即可创建该应用。

  创建完成后选择“应用列表”,显示自己创建的应用。

  应用创建成功后生成对应的API Key和Secret Key,用于后续操作。

3. Access token

  实际应用中并不根据API Key和Secret Key进行接口调用,而是根据access_token

  access_token,代表自己获得的百度授权,调用API时必须在URL中带上access_token参数。获取方法是编写代码向服务器请求数据,向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:

grant_type: 必须参数,固定为client_credentials client_id: 必须参数,应用的API Key client_secret: 必须参数,应用的Secret Key

  获取access_token示例代码:

# encoding:utf-8 import requests # client_id 为官网获取的AK(API Key), client_secret 为官网获取的SK(Secret Key) host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】' response = requests.get(host) if response: print(response.json())

  服务器返回信息为JSON文本格式,重要参数包括:

access_token: 要获取的Access Token expires_in: Access Token的有效期,(秒为单位,一般为1个月)

(其它参数可以忽略)

  若感觉返回信息繁琐,可以直接获取access_token参数:

print(response.json()['access_token']) #修改示例代码最后一行

4. 花卉识别

  上述工作完成后,即可利用接口实现花卉识别。

  该接口用于识别一张图片,即对于输入的一张花卉图片,输出花卉识别结果。

  参数说明:

请求URL:aip.baidubce.com/rest/2.0/im… access_token:第三部分请求的access_token Header: 参数 值 Content-Type application/x-www-form-urlencoded

  示例代码:

import requests import base64 ''' #植物识别 ''' request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant" path='【图片地址】' # 二进制方式打开图片文件 f = open(path, 'rb') img = base64.b64encode(f.read()) params = {"image":img} access_token = '【请求的access_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())

  给出示例图片:

  识别结果:

  score可看作是概率,图片被识别为向日葵的概率为0.872,被识别为心叶向日葵的概率为0.001,识别为黑心金光菊的概率为0.0006。因此大概率为认为是向日葵,符合我们自身的判断。由此看来识别结果还是非常好的。

参考

  百度识别技术文档

相关知识

拍花识花从娃娃抓起 百度举办AI植物科普课堂活动
植物花卉识别 小花儿人工智能
基于Python机器学习实现的花卉识别
基于Android系统的花卉识别APP界面设计与实现
基于图像处理的花卉识别技术的研究与实现
手机拍照识别花草怎么操作?花卉识别几步完成
花卉识别(tensorflow)
基于深度学习的花卉识别研究
深度学习机器学习卷积神经网络的花卉识别花种类识别
深度学习花的分类识别

网址: 百度接口实现花卉识别 https://m.huajiangbk.com/newsview4531.html

所属分类:花卉
上一篇: 花卉识别app高级版下载
下一篇: 扫一扫识别花草树木的软件有哪些