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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 自带的word2vec讲解_word2vec训练

    python 自带的word2vec讲解_word2vec训练word2vec理解学习nlp最先了解的概念应该就是词嵌入(wordembedding)吧,Word2vec是谷歌于2013年提出的一种有效的词嵌入的方法,采用了两种模型(CBOW与skip-gram模型)与两种优化方法(负采样与层次softmax方法)的组合。现在使用Word2vec获得词的向量表达,并将其应用于各种nlp任务中已经非常常见。由于我们要用计算机来完成各种自然语言理解的任务,而…

    2022年9月7日
    0
  • Spark Streaming Join「建议收藏」

    Spark Streaming Join「建议收藏」多数据源Join思路多数据源Join大致有以下三种思路:数据源端Join,如Android/IOS客户端在上报用户行为数据时就获取并带上用户基础信息。计算引擎上Join,如用SparkStreaming、Flink做Join。结果端Join,如用HBase/ES做Join,Join键做Rowkey/_id,各字段分别写入列簇、列或field。三种思路各有优劣,使用时注意…

    2022年6月30日
    23
  • myeclipse 的 svn插件安装 —– myeclipse2017,2018

    myeclipse 的 svn插件安装 —– myeclipse2017,20181.下载site-1.10.13-1.9.x  官方版:http://subclipse.tigris.org/files/documents/906/49486/site-1.10.13-1.9.x.zip(点击直接下载)2.打开压缩包会发现目录结构如下:3.将features文件夹中的文件复制到Myeclipse安装目录中的features文件夹中,…

    2022年7月20日
    9
  • mysql 在命令行和navicat 查出来的数据不一致,你遇到过吗?[通俗易懂]

    mysql 在命令行和navicat 查出来的数据不一致,你遇到过吗?

    2022年2月10日
    47
  • Linux安装NVIDIA显卡驱动的正确姿势

    Linux安装NVIDIA显卡驱动的正确姿势什么是nouveau驱动?检测NVIDIA驱动是否成功安装集显与独显的切换使用标准仓库进行自动化安装使用PPA仓库进行自动化安装使用官方的NVIDIA驱动进行手动安装Linux安装NVIDIA显卡驱动的正确姿势可能想玩Linux系统的童鞋,往往死在安装NVIDIA显卡驱动上,所以这篇文章帮助大家以正常的方式安装NVI…

    2022年4月7日
    179
  • 将CSV的数据发送到kafka(java版)

    将CSV的数据发送到kafka(java版)

    2020年11月19日
    161

发表回复

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

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