本文介绍如何使用Python快速实现一个植物识别APP。家里有好几盆多肉叫不上名字,就拿来认一下吧。实现这样一个应用程序只需要大约20行代码。先来看看效果:点击文末阅读全文访问在线申请(服务器比较差,访问速度略慢)。App的实现主要包括前端界面开发和后端植物识别服务两个步骤,下面分别介绍。前端的实现方式有很多种,刚刚提到的小程序就是其中一种,但是对于习惯使用Python的开发者来说,我们还是希望通过Python语言来开发界面。果然有这么一个工具叫streamlit,是专门为数据科学家和机器学习工程师开发的。使用它时,无需关心布局、样式、服务部署等Web相关知识,就像开发普通的Python程序一样,快速构建精美的应用程序。streamlit的安装也很简单,执行pipinstallstreamlit命令即可。想入门streamlit的朋友可以看下一篇。接下来,我们开发了前端界面。从上面的动图可以看出,核心逻辑就是接收用户输入的图片并显示出来。importstreamlitasst#设置网站标题st.title('Plantidentification')#图片选择框uploaded_file=st.file_uploader('Selectapicture',type=['jpg','png'])ifuploaded_file不是None:#显示选中的文件st.image(uploaded_file,caption='selectedfile',use_column_width=True)接口完成后我们来考虑植物图片的识别服务。这里我使用百度AI的服务执行pipinstallbaidu-aip命令可以安装百度AI的PythonSDK。然后去百度AI开放平台注册一个账号,获取对应的APP_KEY和SCRET_KEY。写代码调用植物识别服务fromaipimportAipImageClassifyAPP_ID='xxx'#改成你自己的APP_IDAPI_KEY='xxx'#改成你自己的API_KEYSECRET_KEY='xxx'#改成你自己的SECRET_KEYclient=AipImageClassify(APP_ID,API_KEY,Y)"SECRET_KE""植物识别结果"""res=client.plantDetect(image)#调用百度api识别植物并将返回结果显示在app上。完整代码如下importstreamlitasstfromaipimportAipImageClassifyAPP_ID='xxx'API_KEY='xxx'SECRET_KEY='xxx'client=AipImageClassify(APP_ID,API_KEY,SECRET_KEY)#设置网站标题st.title('Plantidentification')#图片选择框uploaded_file=st.file_uploader('Selectapicture',type=['jpg','png'])ifuploaded_fileisnotNone:#显示选中的文件st.image(uploaded_file,caption='selectedfile',use_column_width=True)bs=uploaded_file.read()"""植物识别结果"""res=client.plantDetect(bs)#调用百度api识别植物res['result']#显示输出结果"""植物最有可能是“”,res['result'][0]['name']#取预测概率最高的结果执行streamlitrunplant_detect.py命令启动app,可以看到以下输出你现在可以在浏览器中查看您的Streamlit应用程序。本地网址:http://localhost:8501网络网址:http://192.168.1.3:8501在浏览器中访问指定地址即可。以上就是本次分享的全部内容。如果觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,发送“J”还能领取大量学习资料。或者去编程学习网了解更多编程技术知识。
