# API **Repository Path**: wang-huiling/api ## Basic Information - **Project Name**: API - **Description**: api课堂学习仓库,用于课堂学习和作业存档 - **Primary Language**: Unknown - **License**: WTFPL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-12 - **Last Updated**: 2022-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. # 产品需求文档 ## 版本需求 ## 文档说明 ## 目录 ## 项目名称:“这是什么花” | 文档名称: | “这是什么花”APP——产品需求文档 | | ------------ | :----------------------------------------------------------: | | 产品名称: | 这是什么花 | | 产品描述: | 一款专门为植物爱好者打造的识别类APP,利用精准的“植物识别”API技术,帮助用户识别图片中的植物名称,对各个植物有更深的了解。 | | 发布日期: | 2022-7-06 | | 产品版本: | 0.0.1
0.0.2
0.0.3 | | 文件拥有者: | 王荟玲 2010130008 | # 一、价值主张宣言 ### 1. 价值宣言 植物与生态系统和人类有着天然的联系,因此对于植物的研究就显得尤为重要。通过对植物花朵的识别,可以很好的对植物进行分类,更有效地保护、利用好各种植物。但传统的花朵识别方法依靠人工方式进行分类,难度大,效率低;利用电脑和智能手机终端设计和实现了一个植物花朵识别系统,系统能够识别不同花朵的品种,能够方便各类人群对花朵的识别、分类和鉴赏。 ### 2. 核心价值 ### 痛点: 1. 在自己独自一人时,看着美丽的风景和花朵,心情舒畅的同时有个疑问:看到一朵美丽的花,却不知道叫什么名字,身边也没有人可以为自己解答。 2. 在和朋友或者家人旅游时,路上偶遇美丽的植物,一众亲朋好友都不知道是什么花,也说不出与其相关的背景、由来等信息。 ### 解决方案 基于图片识别的功能,游客拍照或上传植物照片,便可快速了解植物名称、由来和生存环境等,准确率高达98%。文字、图片相结合的讲解模式,感官体验更丰富,体验更极致。 ### 3. 价值主张画布 ![价值画布](/img/价值主张画布.png) # 二、需求概述 ## A.用户分析 1. 目标用户群: * 核心用户:各年龄层的植物爱好者 2. 用户画像及使用场景 * 李华是一名在校大学生,平时在课余时间很喜欢去郊游,爱好植物,对花花草草感到好奇,自己上网搜索了解很难辨别植物究竟是什么。于是发现了“这是什么花”APP,通过拍照上传,即可查看丰对应植物的介绍。 | 优先级 | 智能加值 | 用户场景(具体如何加值) | API类型 | | ------ | -------- | ------------------------------------------------------------ | -------- | | 最高 | 是 | 识别照片中出现的各种植物,得出详细信息,了解相关植物学知识。 | 免费开放 | # 三、界面流程 ## 1. 产品背景 * 在和朋友或者家人旅游时,路上偶遇美丽的花朵,想知道是什么花却无从查起,更不能说出与其相关的背景、由来等信息。 ## 2.产品市场 营造良好的生态环境,重对植物的保护和种植。人们开始意识到植物的重要性,却甚少知道这些植物的功能与价值。 ## 4. 产品优势 拍照识景功能基于人工智能技术,用户拍照或上传照片,便可快速了解植物名称、相关知识等,准确率高。文字和图片两种讲解模式。 ## 5. 产品数据结构展示 ![产品结构](/img/使用流程.png) # 四、产品设计原型 ![产品原型](img/拍照识别.png) ![介绍页](img/介绍页.png) 界面流程方式说明: ①点击立即识别进入拍照页。 ②拍照页界面,当用户同意使用相机后,可以选择直接拍照识别图片或者选择在图库里已经储存好的照片。 ③选择照片后点击确认扫描,返回植物介绍详细页。 # 五、API产品使用及输出展示 ## 1. API展示说明及输出 #### 地标识别API(百度AI平台) * 接口描述:该请求用于植物,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中的植物识别结果。 * 平台接入网址:[图像识别—植物识别]([植物识别_拍照识别植物-百度AI开放平台 (baidu.com)](https://ai.baidu.com/tech/imagerecognition/plant)) * HTTP 方法:`POST` * 请求URL: `https://aip.baidubce.com/rest/2.0/image-classify/v1/plant` ##### A. 获取官网AK和SK,请求token ```python import requests # client_id 为官网获取的AK, client_secret 为官网获取的SK SK='hfdfx6XvzEuQZuYRHlroIbcx2Wbscqcj' AK='sHCSvNGIrdb3arV7YubXoOig' host = 'https://aip.baidubce.com/oauth/2.0/token?' payload = { 'grant_type':'client_credentials', 'client_id':AK, 'client_secret':SK } response = requests.get(host,params=payload) if response: print(response.json()) ``` #### B. 调用API输入: ![牡丹花](https://img.lrgarden.cn/feed_pic/67/36/1000219971_24305_1495786148.jpg) ```python import base64 ''' 植物识别 ''' request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant" # 二进制方式打开图片文件 f = open('mudanhua.png', 'rb') img = base64.b64encode(f.read()) payload={ 'access_token':plant_AI, 'image':img, 'baike_num':5, "top_num":5 } headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=payload, headers=headers) if response: print (response.json()) ``` #### C.输出结果 ![输出结果数据](https://gitee.com/wang-huiling/api/raw/master/img/jietu.png) # 六、该产品未来的发展路线构思 ### 1.与影视剧公司合作 * **提升影视剧真实性** ### 2.与企业合作 * **提供植物研究新方向** ### 3. 与植物保护组织合作 * **提供植物保护新思路** # 七、学习心得总结 背景:没有真正迭代需求文档的经历,而只是编写几个不同格式的需求文档出来给到开发和UI。并且在后期的需求变更中增加到文档中,本身文档并没有起到期望中的指导作用。 首先,要搞清楚需求文档是干嘛的? 在我看来有两个作用,一个产品经理通过文字和流程图的手段,从头到尾撸一遍产品功能和流程,这个过程是要用文字表述出来,而且要依照一定的格式,所以对自纠自查非常有帮助。二个作用就是通过语言的精准性,将需求表达出来,作为最终确认的一个规范,交付确定性。 经过这次练习,让我明白了PRD文档在产品开发中的地位。