AppInvenor开发——AI图像识别

来源 :电脑报 | 被引量 : 0次 | 上传用户:ssss426
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读

一、思路


  在本报第15期《AppInvenor开发——拍照识花》中我们已经实现了手机的植物识别App,那么很自然我们就希望这个App能够进行动物识别和其他的图像智能识别,这类AI应用百度已经开发出很多种类,你可以去百度智能云查看支持文档,这里我们在拍照识花的基础上再添加3种:动物识别、菜品识别、果蔬识别,通过本文你有其他需求就可以自行添加其他功能了(图1)。


二、准备工作


  1制作智能植物识别时,我们已经申请了Apikey和Secretkey,可以直接使用,如果还没有申请Apikey和Secretkey,则需要去百度智能云申请,再来继续制作App。
  2 GET请求获取Access_token令牌
  (1)请求头格式(Header)如下:



  (2)请求网址格式为(中括号中的变量用你的Apikey和Scretkey替换):
  https:∥aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【你的Apikey】&client_secret=【你的Scretkey】
  3.POST请求获取AI数据(中括号中的变量用access_token令牌口令替换):
  (1)植物识别
  https:∥aip.baidubce.com/rest/2.0/image-classify/v1/plant?access_token=【access_token令牌口令】
  (2)动物识别
  https:∥aip.baidubce.com/rest/2.0/irnage-classify/v1/anirnal?access_token=【access_token令牌口令】
  (3)果蔬识别
  https:∥aip.baidubce.com/rest/2.0/irnageclassify/v1/classify/ingredient? access_token=【access_token令牌口令】
  (4)菜品識别
  https:∥aip.baidubce.com/rest/2.0/image-classify/v2/dish?access_token=【access_token令牌口令】

三、组件设计


  本程序使用wxbit在线版(app.wxbit.com)(图2)。


四、程序设计


  (1)变量和初始化
  变量Apikey和Secretkey存储两个KEY,需要你自行申请。
  初始化程序利用Apikey和Secretkey,通过HTTP客户端1GET请求的实时申请,得到JSON文本,然后将返回的JSON保存在列表Access_token_list中,再提取令牌值保存在变量Access_token中。
  列表变量returnplant、plantlist、highscoreplant和baike分别存储通过HTTP客户端2POST请求返回的JSON文本、种类列表、最高置信度的种类列表和相关的百科简介。
  变量image存储待识别照片(图3)。





  (2)GET请求文本处理(HTTP客户端1)
  初始化GET请求成功后,从获得的JSON文本中提取令牌口令,保存在变量Access_token中备用(图4)。



  (3)选择识别种类
  这就是本例新添加的部分了,种类有4种:植物识别,动物识别,果蔬食材,菜品识别。注意这4种是有顺序的(图5)。


  这里需要一个图像处理插件TaifunImage.aix,可以百度搜索在网上下载(图6)。



  (4)选择待识别图片
  点击选择要识别的图片,可以事先拍摄好,然后导入图像组件中,调整大小后,显示出来,同时清空上一次识别的所有数据(图7)。



  (5)拍照植物图片
  通过手机的拍照功能,把待识别种类的照片直接拍照,注意一定尽量的清晰,对比度适中,否则识别可能会出错,或是识别不准确。拍摄完成后,处理图片过程与选择图片类似(图8)。



  (6)开始识别
  先将图片路径中的无用字符清除,作为HTTP客户端2的POST请求地址。请求地址需要符合格式要求,要有请求头和令牌口令才能请求成功。
  POST请求网址前文已经介绍过不再详述。
  POST请求时,必须将待识别图片转换成BASE64编码,存储在HTTP客户端创建的列表中,然后通过HTTP客户端2获取这些数据后,进行处理和提取,得到我们想要的数据。
  BASE64编码是数据传输中常用的编码,本报今年第4、5期有相关文章,可以参考。SirnpleImage.aix组件是BASE64编码插件,需要去网上下载,导入后即可使用。也就是说,POST请求数据时,是按照BASE64编码请求的(图9)。



  (7)POST請求获得文本(HTTP客户端2)
  这部分是功能升级的主要更新部分,如果请求成功(响应代码为200),返回参数如表(3个层级)(图10)。



  将返回的数组解码为JSON文本,保存在列表变量retumplant中。然后将识别结果存储在列表plantlist中,它包括所有置信度的植物信息,即识别的种类可能很多,但置信度(也可以理解为可信度)不同,其值从高到低排列,我们只取置信度最高的一项,存储在列表highscoreplant中。并从中提取植物的名字和置信度值,在文本中显示出来。
  在列表highscoreplant中还有相关百科知识,只是列表维度太高,提取时稍有难度。百科简介显示出来,从中也能学到很多相关知识(图11)。


五、调试


  每增加一个种类,就需要测试一遍,正确以后再进行下一个种类的代码,以保证每一步的正确性。最后完善程序设计和uI设计。本例程序只在植物识别的基础上添加了3个种类,改动不多。主要难点在于处理数据列表时,由于种类的增加更复杂了。检索数据时,需要一步步测试,才能了解数组(列表或字典)的意义。
  百度AI可以添加的项目还有很多,比如货币、车辆、红酒、地标、Logo等,可以根据自己的兴趣添加。参考资料可以在百度智能云申请Apikey时,查看相关说明文档(图12)。



  相关源代码和素材均在百度网盘,下载链接请添加微信公众号壹零社,如有问题也可以和壹零社小助理联系。


其他文献
针对不想使用Microsoft 365的企业及个人用户,微软2月18日宣布将在今年下半年发布Windows、macOS版本Office 2021,微软预告,企业版Office最多将涨价10%。  PC机版Office 2021为永久授权,分成大型企业及政府用的Office LTSC (Long Term Servicing Channel),以及个人/中小企业使用的Office 2021,包含Ou
期刊
医院遭受黑客攻击浪潮  黑客们越来越多地试图闯入医疗保健公司,这给已经在努力管理新冠肺炎病毒的行业带来了更大的压力。欧美一些医院安全负责人表示,持续的威胁来自勒索软件团体、金融诈骗者和黑客。  “这个月的攻击数量又增加了!” Great Plains Health的技术经理克里斯托弗·斯特劳德说,该医院位于内布拉斯加州北普拉特,为大约183000名患者提供服务。  斯特劳德说,Great Plai
期刊
承接单位办公机批量采购、定制、租用二手windows笔记本  经典办公本  扩展性强、接口丰富、散热佳、键盘手感好  ThinkpadT420:14英寸/i5/4GB/120GB以上 1399元起  ThinkpadT430:14英寸/i5/4GB/120GB以上 1499元起  ThinkpadT450:14英寸/i5/8GB/120GB以上 2199元起  ThinkpadT450S:14英寸
期刊
“谈婚色变”的焦虑,隔开围城内外  5月3日,聚焦小升初话题的大热剧集《小舍得》以大团圆的结局落下帷幕。但现实中上演的焦虑,却还没得到完结……  钢琴课每节180元,数学上学而思,英语上新东方,任课老师的课后辅导……不算不知道,一算吓一跳。林清粗略地估摸了一下女儿正在上的辅导班,还不算上偶尔临时会增加的刷题班、冲刺班,保守一个月的开销也在5000元上下。  与这样的情况相对应的是,在年轻群体中,“
期刊
提供全球民宿租赁服务的Airbnb于2月25日公布了该公司去年第四季以及全年度的财报,这也是Airbnb上市后的首次财报,由于受到疫情的影响,Airbnb该季的营收为8.59亿美元,比2019年同期下滑了22%,亏损高达39亿美元。  在2019年第四季时,Airbnb的亏损只有3.52亿美元,但去年第四季却大幅增加到39亿美元。Airbnb说明,大幅度亏损的原因为去年第四季的上市费用,包括提供给
期刊
欧洲议会在去年11月通过了一项政策,要求业者必须在产品上加注维修指数标签,以让消费者了解产品维修的难易度,作为判断购买产品的参考,法国则在今年2月率先落实该政策,如今法国的苹果官网已出现iPhone及MacBook的维修指数。  苹果与3C产品DIY维修网站iFixit所提供的维修指数类似,都是以1到10作为维修友善度的参考,分数越高代表越容易维修。而苹果也列出了评估维修难易度的标准,包括是否有维
期刊
好作品=鏡头+传感器+算法  进入5月,春季新品潮逐渐进入尾声,上半年的旗舰机,基本已经悉数登场,其中,搭载高通骁龙888平台的机型自然是用户关注的焦点。作为高通目前最强移动平台,“性能强”似乎成了理所当然,厂商为了更好地宣传自己的产品,在这些新品的发布会上,都不约而同地强调了拍摄能力。  决定拍摄效果的因素,除了镜头和传感器等光学元件还有一个重要因素,那就是计算摄影,简单来说就是将感光元件捕捉到
期刊
强化二次元IP,高颜值也有好用料  ROG STRIX B560吹雪主板同样拥有吹雪家族标志性的银白战甲,赛博朋克元素与ROG电竞图腾的设计也得以延续,主板覆盖了大量散热装甲,颜值与性能兼修,不但是二次元爱好者的好选择,同时也是潮流玩家的优选主板。  ROG STRIX B560吹雪主板采用了8+2组供电设计,由于B560芯片组不支持处理器核心超频,所以这样的供电设计可以满足处理器的使用需求。单独
期刊
2月26日10點起,2020年下半年全国大学英语四、六级考试(含口语)成绩正式开放查询,微信搜一搜也联合了国家政务服务平台为广大考生提供四六级成绩查询服务。届时,广大考生可通过微信搜一搜进行四六级查分。  成绩开放查询后,考生可以通过微信搜一搜“服务导航页”进行分数查询,具体进入途径为对话上方搜索框—服务—热门搜索—四六级查分进入四六级考试服务页,点击考后查询—成绩查询后将跳转国家政务服务平台小程
期刊
从人类有文明以来,我们就不断观测着世界上的各种自然现象,从雨水、冰雹、龙卷风、闪电这种气候现象,到日食、月食等大型天文现象。经过长时间的观测和记录之后,到了现代,人类对于其中绝大部分的现象都能够进行完美的科学解释,但是其中有一种现象从1000多年前就被记录了下来,至今仍未能搞清楚它的发生原因,这种现象就是球状闪电。球状闪电的历史记载1901年的一次球状闪电从窗外进入室内的目击事件记录  人类很早之
期刊