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 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小應用希望大家能夠喜歡。另外,完整代碼(包括微信小程序)已經開放,公眾號后台回復關鍵字 植物識別 即可獲取完整資料。

歡迎公眾號「渡碼」,輸出別地兒看不到的干貨。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM