基于Python实现简易的植物识别小系统
作者:顾木子吖 发布时间:2021-10-09 21:30:57
标签:Python,植物,识别
导语
"? 花草树木 皆有呈名
热爱自然,从认识自然开始 "
现在的植物爱好者,遇到不认得的植物。怎么办呢?
前几天去逛商场,一进商城一一一一门口的花店吸引了我的注意:摆放在店门口的各色鲜花植物花卉真的特别好看!
忍不住进门逛了一圈,发现我真的不认识,种类太多,对花卉的品种了解颇少。
回来之后找到了2款简单好用的植物识别APP一一一伴侣跟形色蛮好用的!
闲着也是闲着:默默用Python编写了一款简单的植物识别系统给大家正好la~
正文
1)环境安装
本文用到的环境:Python3.7? Pycharm社区版? ?模块:PyQt5。
2)主程序
import sys
from PyQt5.QtWidgets import(QWidget,QApplication,QGridLayout,QLabel,
QLineEdit,QTextEdit,QPushButton,QFrame,QFileDialog)
from PyQt5.QtGui import QPixmap
#导入baiduAPI调用模块
import request
class AIGUI(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
#关于表格类的相关初始化代码
#setSpacing 就是设置每个控件的外边框
grid=QGridLayout()
grid.setSpacing(10)
#各个控件
#1号控件
explain=QLabel('请选择您要识别的图片')
#2号 单号文本框
self.imgUrl=QLineEdit()
#3号,按钮
self.select=QPushButton("选择图片")
#为按钮添加一个事件处理函数
self.select.clicked.connect(self.openfile)
#4号,图片框
self.imgLab=QLabel("11.png")
self.imgLab.setFrameShape(QFrame.Box)
#imgLab.setFrameShadow(QFrame.Raised)
self.imgLab.setLineWidth(1)
#imgLab.setPixmap(QPixmap(""))
#5号,多行
self.info=QTextEdit()
#将控件进行合理布局
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)
#窗口最后的设置
self.setLayout(grid)
self.setGeometry(300,300,350,300)
self.setWindowTitle("植物识别小系统")
self.show()
def openfile(self):
#打开图片弹窗,选择图片
self.select_path=QFileDialog.getOpenFileName(self,"选择要识别的图片","/","Imgae Files(*.jpg *.png)")
#如果没选择图片,空过
if not self.select_path[0].strip():
pass
else:
#选择图片后执行下面的内容
# 设置图片的路径
self.imgUrl.setText(self.select_path[0])
#在图片标签框中显示图片
#1)根据路径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平台完成植物识别工作
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)效果展示
第一组玫瑰花:
?第二组百合花:
?
来源:https://blog.csdn.net/weixin_55822277/article/details/121303566
0
投稿
猜你喜欢
- 刚开始学习tensorflow,还不太会用,开个博记录,今天遇到一个问题是用tf.layers.dense创建的全连接层,如何查看权重?知道
- 以下是引用片段:Function c2u(myText) Dim i c2u = "" For i = 1 to Len
- 第一种方法:采用git命令操作1、例如仓库中有下面的代码(版本1)2、现在继续编写代码,并且提交到远程仓库中(版本2)3、回退到版本1中gi
- python 地图经纬度转换、纠偏的代码如下所示:# -*- coding: utf-8 -*-import jsonimport urll
- write2vin 的 PPT原文路宛兮写的简介:本文解释了以下问题: 1.什么是用户体验? 2.谁发明了这个术语?他想表达什么意思? 3.
- MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用
- 对数字货币的崛起感到新奇的我们,并且想知道其背后的技术——区块链是怎样实现的。 但是完全搞懂区块链并非易事,我喜欢在实践中学习,通
- 搜索是大数据领域里常见的需求。Splunk和ELK分别是该领域在非开源和开源领域里的领导者。本文利用很少的Python代码实现了一个基本的数
- 外观模式(Facade Pattern)是什么外观模式是一种结构型模式,它提供了一个简单的接口,隐藏了系统的复杂性,为客户端提供了一个简单的
- 简介最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框
- 本文实例讲述了Python实现给qq邮箱发送邮件的方法。分享给大家供大家参考。具体实现方法如下:#-*-coding:utf-8-*- &n
- 假设有一个可迭代对象,现在想要对它内部的元素进行排序,我们一般会使用内置函数 sorted,举个例子:data = (3
- Linux RedHat下安装Python2.7、pip、ipython环境、eclipse和PyDev环境准备工作,源Python2.6备
- 本文实例讲述了php实现压缩多个CSS与JS文件的方法。分享给大家供大家参考。具体实现方法如下:1. 压缩css<?php
- 实现思路:分为两部分,第一部分,获取网页上数据并使用xlwt生成excel(当然你也可以选择保存到数据库),第二部分获取网页数据使用IO流将
- 今天帮助同事解决一个问题,问题是她做的一套页面在FF下显示正常,在IE6下样式却没有效果,也就是没有应用样式。最终发现是编码不匹配的问题,c
- 本文实例为大家分享了一个简单的小游戏,分享给大家。利用随机函数制作石头剪刀布小游戏程序只运行一次import randoma = input
- RegMail是用来存放注册邮件的表,现以创建时间(CreateTime)字段来给表进行分区,具体步骤如下:--为分区创建存储文件 
- py 写东西快但是java 生态广比如大数据 py 虽然好 但是利用不到java的整个的生态的代码scala 虽然也好但是毕竟 有些库 需要
- merge()import pandas as pdpd.merge(DateFrame1,DateFrame2,on = '