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「建议收藏」

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Vue(9)购物车练习

    Vue(9)购物车练习购物车案例经过一系列的学习,我们这里来练习一个购物车的案例**需求:**使用vue写一个表单页面,页面上有购买的数量,点击按钮+或者-,可以增加或减少购物车的数量,数量最少不得少于0,点击移除按钮

  • parentNode,firstChild,parentNode,nextSibling;

    parentNode,firstChild,parentNode,nextSibling;UntitledDocument                  functiontest1(){            varnode=document.getElementById(“imgid2”);             varpimg=node.parentNode.firstChild;

  • Bat 脚本实现监控进程功能

    Bat 脚本实现监控进程功能

  • bindService与startService区别

    bindService与startService区别1.StartedService中使用startService()方法来进行方法的调用,调用者和服务之间没有联系,即使调用者退出了,服务依然在进行【onCreate()->onStart

  • 医疗大数据平台的主流解决方案

    医疗大数据平台的主流解决方案多源异构数据汇聚分发系统:通过数据汇集和分发服务引擎,按照统一的数据格式和接口规范采集来自于不同厂家、不同设备类型、不同数据格式、不同传输协议的体征数据,然后进行数据存储,最后通过消息开放服务中间件实时分发至电子健康档案系统。   统一资源池的电子健康档案系统:电子健康档案系统是实施医疗信息 化管理和提供个性化医护服务的核心,它以用户或患者为中心,建立人口统计信息、既往病史、健康因素、家…

  • 基于Spring MVC + Spring + MyBatis的【医院就诊挂号系统】[通俗易懂]

    基于Spring MVC + Spring + MyBatis的【医院就诊挂号系统】[通俗易懂]一、语言和环境1.实现语言:JAVA语言。2.环境要求:MyEclipse/Eclipse+Tomcat+MySQL。3.使用技术:SpringMVC+Spring+MyBatis或JSP+Servlet+JavaBean+JDBC。二、实现效果实现能够对患者姓名,医师类别、科室的模糊查询,用户点击核销以后状态变为已就诊。点击挂号实现基本信息的添加三、实现代码数据库:SETFOREIGN_KEY_CHECKS=0;———-

发表回复

您的电子邮箱地址不会被公开。

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