基于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


猜你喜欢
- python 中datetime中strptime用法,具体代码如下所示:import datetimeday20 = datetime.d
- 本文实例讲述了php实现比较全的数据库操作类。分享给大家供大家参考。具体如下:<?php class database {  
- 1.概念百度百科:笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X &ti
- 一、为什么要配置文件1、容易编辑,配置比较集中,方便修改,在大业务量的系统里面,通过配置会方便后人理解整个系统的架构2、做到业务代码和环境解
- 废话不多说啦,直接看代码吧!tf.concatt1 = [[1, 2, 3], [4, 5, 6]]t2 = [[7, 8, 9], [10
- 今天有个需要需要传递中文参数给URL但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。所以我们果断选择用u
- 一、朋友圈九宫格效果图二、图片基本操作打开要处理的图片判断打开的图片是否为正方形如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正
- 如果能,请问如何实现 谢谢set aa=server.cre
- 问题分析在关闭数据库的命令发现mysql关不了,提示Warning: World-writable config file '/et
- 要实现的SQL查询很原始:要求从第一个表进行查询得到第二个表格式的数据,上网查询之后竟然能写出下面的SQL:代码如下:select * fr
- 目的:Python 格式化打印json数据方法(展开状态)环境:系统:Win10 x64环境:PycharmPython 3.7.0问题分析
- 本文实例为大家分享了python使用webdriver爬取微信公众号的具体代码,供大家参考,具体内容如下# -*- coding: utf-
- 问题描述使用pandas库的read_excel()方法读取外部excel文件报错, 截图如下好像是缺少了什么方法的样子问题分析分析个啥,
- xpath表达式1. xpath语法<bookstore><book> <title lang="e
- 第一种:拼接字符串,可以解决问题,但是为了避免sql注入,不建议这样写还是看看第二种:使用.format()函数,很多时候我都是使用这个函数
- 函数:strip() lstrip() rstrip()作用:去除字符串中的空格或指定字符一、默认用法:去除空格st
- 如何干预执行计划 - - 使用hints提示基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也
- 目录结构:testtest/index.phptest/test_zip.ziptest/test_zip<span style=&q
- 在python中使用socket进行linux服务器与win10主机间的图像传输,供大家参考,具体内容如下前提:服务器与主机需要在同一局域网
- 引言使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。如果非