前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >20行Python代码开发植物识别 app「建议收藏」

20行Python代码开发植物识别 app「建议收藏」

作者头像
全栈程序员站长
发布2022-09-08 08:51:43
8330
发布2022-09-08 08:51:43
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

这篇文章介绍如何用Python快速实现一个植物识别的app,家里养了几盆多肉还叫不上名字,正好拿来识别一下。实现这样一个app只需要20行左右的代码

另外,我也开发了微信小程序版本,大家可以体验一下。

实现该app主要包含两步,前端界面开发和后端植物识别服务,下面来分别介绍一下。

前端的实现方式有很多种,刚刚说的小程序是一种,但对于习惯用Python的开发者来说,我们还是希望能通过Python语言来开发界面。果然真有这样的工具,叫streamlit,它是专门为数据科学家、机器学习工程师而开发的,使用它的时候不需要关心布局、样式、服务部署等web相关的知识,而就像开发普通Python程序一样,快速构建优美的app。streamlit的安装也很简单,执行pip install streamlit命令即可。想入门streamlit的朋友可以看次条的文章。

接下来,我们把前端界面开发出来,从上面动图可以看到,最核心逻辑为接收用户输入的图片,并将其显示出来。

代码语言:javascript
复制
import streamlit as st
 # 设置网站标题 st.title('植物识别')  # 图片选择框 uploaded_file = st.file_uploader('选择一张图片', type=['jpg', 'png']) if uploaded_file is not None:  # 显示已选的文件  st.image(uploaded_file, caption='已选文件', use_column_width=True) 

界面完成后,我们再来考虑植物图片的识别服务,这里我用的是百度AI的服务

执行pip install baidu-aip命令即可安装百度AI的Python SDK。然后,再去百度AI开放平台注册一个账号获得相应的APP_KEY和SCRET_KEY。编写代码调用植物识别服务

代码语言:javascript
复制
from aip import AipImageClassify
 APP_ID = 'xxx' # 换成自己的 APP_ID API_KEY = 'xxx' # 换成自己的 API_KEY SECRET_KEY = 'xxx' # 换成自己的 SECRET_KEY client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)  """ 植物识别结果 """ res = client.plantDetect(image) # 调用百度api识别植物 

最后将返回的结果在app上展示即可,完整代码如下

代码语言:javascript
复制
import streamlit as st
from aip import AipImageClassify  APP_ID = 'xxx' API_KEY = 'xxx' SECRET_KEY = 'xxx' client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)  # 设置网站标题 st.title('植物识别')  # 图片选择框 uploaded_file = st.file_uploader('选择一张图片', type=['jpg', 'png']) if uploaded_file is not None:  # 显示已选的文件  st.image(uploaded_file, caption='已选文件', use_column_width=True)  bs = uploaded_file.read()   """ 植物识别结果 """  res = client.plantDetect(bs) # 调用百度api识别植物  res['result'] # 显示输出结果   """ 该植物最有可能是 """, res['result'][0]['name'] # 取预测概率最大的结果 

执行streamlit run plant_detect.py命令启动app,看到有如下输出

代码语言:javascript
复制
  You can now view your Streamlit app in your browser.
  Local URL: http://localhost:8501  Network URL: http://192.168.1.3:8501 

在浏览器访问指定的地址即可。

希望这篇文章的内容能对你有用,接下来我会定期分享这种AI小应用希望大家能够喜欢。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156142.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档