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

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

实现该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的服务

执行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小应用希望大家能够喜欢。另外,完整代码(包括微信小程序)已经开放,公众号后台回复关键字 植物识别 即可获取完整资料。

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

python 作物识别_20行Python代码开发植物识别 app相关推荐

  1. 20行Python代码开发植物识别 app

    这篇文章介绍如何用Python快速实现一个植物识别的app,家里养了几盆多肉还叫不上名字,正好拿来识别一下.实现这样一个app只需要20行左右的代码,先来看下效果: 文末点击阅读全文即可访问线上应用( ...

  2. 20行Python代码开发植物识别 app!这样还怕认不出菜的尴尬吗?

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

  3. python微信头像_20行Python代码给微信头像戴帽子

    朋友圈里@微信官方要求戴圣诞帽的活动曾经火爆一时,有些会玩的小伙伴都悄咪咪地用美图秀秀一类的 app 给自己头像 p 一顶,然后可高兴地表示"哎呀好神奇hhhh",呆萌的小伙伴当然 ...

  4. python编辑器中文版_20行Python代码实现一款永久免费PDF编辑工具

    转自知乎@Jackpop:https://zhuanlan.zhihu.com/p/153468702知乎搜索"开源 PDF 嵌入字体 Python"的结果 PDF(Portabl ...

  5. EmguCV OCR识别实例演示与代码--Tesseract数字识别

    本文作者Color Space,文章未经作者允许禁止转载! 本文将介绍EmguCV OCR识别实例演示与代码--Tesseract数字识别! EmguCV中的OCR识别示例代码可以在安装目录D:\Em ...

  6. python pdf编辑开发_20行Python代码实现一款永久免费PDF编辑工具的实现

    PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档...很多都是PDF格式.它以格式稳定的优势,使得我们在打印.分享.传输过程 ...

  7. python爬取和平精英皮肤_20行Python代码爬取王者荣耀全英雄皮肤

    引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工 ...

  8. python自动生成鸡汤文_20行python代码实现鸡汤智能生成器

    "Don't think of the overwhelming majority of the impossible." "不要去想不可能之事" " ...

  9. python电子相册制作代码大全_20 行 Python 代码即可制作精美证件照

    无论是我们上学时还之后的工作中,基本都需要用到电子证件照片,这类照片基本都对照片尺寸.背景色有要求,本文我们来看一下如何只用不到 20 行 Python 代码完成证件照片的制作. 简介 制作证件照我们 ...

最新文章

  1. nginx内置变量 大全
  2. origin图上显示数据标签_【数据绘图】好图分享:寒假?不存在的!
  3. Flutter开发之HTTP网络请求:HttpClient(26)
  4. android menu点击事件6,Android Menu
  5. HackerRank Gift Boxes(hash)
  6. 剑指offer 数值的整次方
  7. 单独组件_iOS组件化/模块化的方案总结
  8. Windows 8 M2 Build 7955泄露下载
  9. “/etc/profile“ 无法保存 E212: Can‘t open file for writing
  10. Python 2.7的新特性
  11. 鸿蒙开发工具下载设置Mac
  12. 项目管理十大知识领域之项目成本管理
  13. C# 生成word文件 小学一年级口算题生成器(代码)
  14. 微信发红包案例测试场景
  15. 【运筹学】整数规划 ( 相关概念 | 整数规划 | 整数线性规划 | 整数线性规划分类 )
  16. DP:Miking Time(POJ 3616)
  17. How cc Works 中文译文
  18. 亏损同比超90%,巴菲特看中的snowflake首份业绩单为何难看?
  19. html中单选按钮设置监听事件,浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio...
  20. 【Window 入侵排查】

热门文章

  1. unsw计算机科学的挂科率,2020年新南威尔士大学研究生挂科率
  2. 如何解决条码打印机隔张打印问题
  3. BOJ 1433 Tom 的潜望镜 优先队列+BFS
  4. 【LeetCode-1413】1431. 拥有最多糖果的孩子
  5. outlook2013配置
  6. 考研数据结构之数组(5.1)——练习题之移动数组所有非零元素到数组前端(C表示)
  7. 【路由器连接天翼网关2.0问题解决思路】
  8. 微信小程序实现可移动悬浮按钮(超简单)
  9. 淘宝店铺装修(Carousel - 旋转木马)
  10. 影像变革之年 CP+2019展会五大看点