20行Python代码开发植物识别 app
這篇文章介紹如何用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?AipImageClassifyAPP_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?AipImageClassifyAPP_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:8501Network?URL:?http://192.168.1.3:8501在瀏覽器訪問指定的地址即可。
以上就是本次分享的所有內容,如果你覺得文章還不錯,歡迎關注公眾號:Python編程學習圈,每日干貨分享,發送“J”還可領取大量學習資料?;蚴乔巴幊虒W習網,了解更多編程技術知識。?
總結
以上是生活随笔為你收集整理的20行Python代码开发植物识别 app的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【python】【爬虫】爬取Fate G
- 下一篇: 故招的必定后被解雇