基于Python實(shí)現(xiàn)簡(jiǎn)易的植物識(shí)別小系統(tǒng)
導(dǎo)語
"? 花草樹木 皆有呈名
熱愛自然,從認(rèn)識(shí)自然開始 "

現(xiàn)在的植物愛好者,遇到不認(rèn)得的植物。怎么辦呢?
前幾天去逛商場(chǎng),一進(jìn)商城一一一一門口的花店吸引了我的注意:擺放在店門口的各色鮮花植物花卉真的特別好看!
忍不住進(jìn)門逛了一圈,發(fā)現(xiàn)我真的不認(rèn)識(shí),種類太多,對(duì)花卉的品種了解頗少。
回來之后找到了2款簡(jiǎn)單好用的植物識(shí)別APP一一一伴侶跟形色蠻好用的!
閑著也是閑著:默默用Python編寫了一款簡(jiǎn)單的植物識(shí)別系統(tǒng)給大家正好la~

正文
1)環(huán)境安裝
本文用到的環(huán)境:Python3.7? Pycharm社區(qū)版? ?模塊:PyQt5。
2)主程序
import sys
from PyQt5.QtWidgets import(QWidget,QApplication,QGridLayout,QLabel,
QLineEdit,QTextEdit,QPushButton,QFrame,QFileDialog)
from PyQt5.QtGui import QPixmap
#導(dǎo)入baiduAPI調(diào)用模塊
import request
class AIGUI(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
#關(guān)于表格類的相關(guān)初始化代碼
#setSpacing 就是設(shè)置每個(gè)控件的外邊框
grid=QGridLayout()
grid.setSpacing(10)
#各個(gè)控件
#1號(hào)控件
explain=QLabel('請(qǐng)選擇您要識(shí)別的圖片')
#2號(hào) 單號(hào)文本框
self.imgUrl=QLineEdit()
#3號(hào),按鈕
self.select=QPushButton("選擇圖片")
#為按鈕添加一個(gè)事件處理函數(shù)
self.select.clicked.connect(self.openfile)
#4號(hào),圖片框
self.imgLab=QLabel("11.png")
self.imgLab.setFrameShape(QFrame.Box)
#imgLab.setFrameShadow(QFrame.Raised)
self.imgLab.setLineWidth(1)
#imgLab.setPixmap(QPixmap(""))
#5號(hào),多行
self.info=QTextEdit()
#將控件進(jìn)行合理布局
grid.addWidget(explain,1,0)
grid.addWidget(self.imgUrl,1,1)
grid.addWidget(self.select,1,2)
grid.addWidget(self.imgLab,2,0,5,3)
grid.addWidget(self.info,1,3,6,1)
#窗口最后的設(shè)置
self.setLayout(grid)
self.setGeometry(300,300,350,300)
self.setWindowTitle("植物識(shí)別小系統(tǒng)")
self.show()
def openfile(self):
#打開圖片彈窗,選擇圖片
self.select_path=QFileDialog.getOpenFileName(self,"選擇要識(shí)別的圖片","/","Imgae Files(*.jpg *.png)")
#如果沒選擇圖片,空過
if not self.select_path[0].strip():
pass
else:
#選擇圖片后執(zhí)行下面的內(nèi)容
# 設(shè)置圖片的路徑
self.imgUrl.setText(self.select_path[0])
#在圖片標(biāo)簽框中顯示圖片
#1)根據(jù)路徑pixmap解析圖片
pixmap=QPixmap(self.select_path[0])
#2)縮放圖片
scalePixmap=pixmap.scaledToWidth(300)
#scaledPixmap=pixmap.scaled(QSize(311,301))
#3)顯示
self.imgLab.setPixmap(scalePixmap)
result=self.identify()
self.info.setText(result)
#借助百度AI平臺(tái)完成植物識(shí)別工作
def identify(self):
result=Request.BaiduAPI(self.select_path[0])
return result
def main():
app=QApplication(sys.argv)
ai=AIGUI()
sys.exit(app.exec_())
if __name__=='__main__':
main()
3)效果展示
第一組玫瑰花:


?第二組百合花:

?
到此這篇關(guān)于基于Python實(shí)現(xiàn)簡(jiǎn)易的植物識(shí)別小系統(tǒng)的文章就介紹到這了,更多相關(guān)Python植物識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python中數(shù)據(jù)庫管理模塊shelve和dbm的應(yīng)用
作為常用的 python 自帶數(shù)據(jù)庫管理模塊,shelve 和 dbm 都是非常方便的對(duì)象持久化存儲(chǔ)和檢索工具,本文將從用法、優(yōu)勢(shì)以及不同點(diǎn)等方面進(jìn)行介紹,希望對(duì)大家有所幫助2023-10-10
一文帶你玩轉(zhuǎn)python中的requests函數(shù)
在Python中,requests庫是用于發(fā)送HTTP請(qǐng)求的常用庫,因?yàn)樗峁┝撕?jiǎn)潔易用的接口,本文將深入探討requests庫的使用方法,感興趣的可以學(xué)習(xí)下2023-08-08
使用?OpenCV-Python?識(shí)別答題卡判卷功能
這篇文章主要介紹了使用?OpenCV-Python?識(shí)別答題卡判卷,本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
Python的Bottle框架中實(shí)現(xiàn)最基本的get和post的方法的教程
這篇文章主要介紹了Python的Bottle框架中實(shí)現(xiàn)最基本的get和post的方法的教程,Bottle框架在Python開發(fā)者中的人氣很高,需要的朋友可以參考下2015-04-04

