20行Python代碼開發植物識別 app

這篇文章介紹如何用Python快速實現一個植物識別的app,家裏養了幾盆多肉還叫不上名字,正好拿來識別一下。實現這樣一個app只須要20行左右的代碼,先來看下效果:前端

另外,我也開發了微信小程序版本,你們能夠體驗一下。 web

實現該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的服務api

執行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,看到有以下輸出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小應用但願你們可以喜歡。另外,完整代碼(包括微信小程序)已經開放,公衆號後臺回覆關鍵字 植物識別 便可獲取完整資料。

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

相關文章
相關標籤/搜索