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

20行Python代码开发植物识别 app「建议收藏」这篇文章介绍如何用Python快速实现一个植物识别的app,家里养了几盆多肉还叫不上名字,正好拿来识别一下。实现这样一个app只需要20行左右的代码,先来看下效果:另外,我也开发了微信小程序版本,大

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

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

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

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

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

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

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

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

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的服务

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

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

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上展示即可,完整代码如下

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,看到有如下输出

  You can now view your Streamlit app in your browser.
  Local URL: http://localhost:8501  Network URL: http://192.168.1.3:8501 

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

希望这篇文章的内容能对你有用,接下来我会定期分享这种AI小应用希望大家能够喜欢。另外,完整代码(包括微信小程序)已经开放,公众号后台回复关键字 植物识别 即可获取完整资料。

欢迎公众号「渡码」,输出别地儿看不到的干货。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年7月6日 上午6:46
下一篇 2022年7月6日 上午7:00


相关推荐

  • nginx 域名重定向

    nginx 域名重定向nginx 域名重定向 192 168 137 3tlb comhttp tlb com 2443 test5551 rewrite 语法 指令语法 rewriteregex flag 默认值 none 应用位置 server location if rewrite 是实现 URL 重定向的重要指令 他根据 regex 正则表达式 来匹配内容跳转到 replacement 结尾是 flag 标记 简单的小例子 1rewrite

    2026年3月16日
    2
  • EasyUI的combobox使用总结

    EasyUI的combobox使用总结一 combobox 的属性 事件和方法 combobox 可以配置属性 绑定事件监听 调用方法 理解这几个概念之后会对 combobox 有更清晰的了解 1 配置属性 combobox 可以配置自己的属性 他的属性可以定义在 lt input gt 或 lt select gt 标签的 data options 参数中 比如 lt selectid type name type cl

    2026年3月19日
    2
  • bundle包是什么意思_bundle是什么意思_bundle的翻译_音标_读音_用法_例句_爱词霸在线词典…

    bundle包是什么意思_bundle是什么意思_bundle的翻译_音标_读音_用法_例句_爱词霸在线词典…全部一批一大笔钱收集推搡 Wecollecteda 我们收集了一包旧衣服给穷人 简明英汉词典 Theveteranta 老兵教儿子把稻草挽成把 这样就好燃烧些 期刊摘选

    2026年3月17日
    3
  • thinkphp随机字符串

    thinkphp随机字符串提供两种方式 仅供大家参考第一种 随机字符串 functionget rand str len str asdfghjklqwe returnsubstr str shuffle str 0 len 第二种 随机字符 par

    2026年3月19日
    3
  • Consul 使用手册(感觉比较全了)

    Consul 使用手册(感觉比较全了)使用 consul 介绍 Consul 包含多个组件 但是作为一个整体 为你的基础设施提供服务发现和服务配置的工具 他提供以下关键特性 服务发现 Consul 的客户端可用提供一个服务 比如 api 或者 mysql 另外一些客户端可用使用 Consul 去发现一个指定服务的提供者 通过 DNS 或者 HTTP 应用程序可用很容易的找到他所依赖的服务 健康检查 Consul 客户端可用提供任意数量的健

    2026年3月17日
    2
  • bacitracin_bababadalgharaghtakamminarronn

    bacitracin_bababadalgharaghtakamminarronn
     BalunTransformers
     ABalunisadevicewhichconverts balancedimpedanceto unbalancedandviceversa.Inaddition,balunscanalsoprovideimpedancetransformation,hencethenameBalunTransformers.
    Thefollowingsectionsdescribethep

    2025年8月11日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号