首页 > 其他分享 >作物叶片病害识别系统

作物叶片病害识别系统

时间:2024-11-01 19:15:50浏览次数:4  
标签:识别系统 叶片 py filename str 图像 print 疾病 病害

介绍

  • 由于植物疾病的检测在农业领域中起着重要作用,因为植物疾病是相当自然的现象。

img

在这里插入图片描述

  • 如果在这个领域不采取适当的护理措施,就会对植物产生严重影响,进而影响相关产品的质量、数量或产量。植物疾病会引起疾病的周期性爆发,导致大规模死亡。这些问题需要在初期解决,以挽救人们的生命和金钱。

img

在这里插入图片描述

  • 自动检测植物疾病是一个重要的研究课题,因为它可以在植物叶片上出现病征时在非常早期就监测到大面积的农作物,从而检测疾病的症状。
  • 农田业主和植物护理者(比如,在苗圃中)可以通过早期检测疾病获得很大的好处,以防止更糟糕的情况发生在他们的植物上,并让人类知道应该预先做什么来使其按照预期工作,以防止更糟糕的情况发生在他身上。

目的

  • 这使机器视觉能够提供基于图像的自动检验和过程控制。
  • 相比之下,视觉识别是劳动密集型的、不太准确的,只能在小范围内进行。该项目涉及使用Python设计的自我设计的图像处理算法和技术,以从叶片中分割出疾病,并使用机器学习的概念对植物叶片进行分类,以健康或感染状态。
  • 通过这种方法,植物疾病可以在初期阶段被识别出来,可以使用害虫和感染控制工具来解决害虫问题,同时最小化对人和环境的风险。

img

在这里插入图片描述

步骤

在初始步骤中,选择了所有叶样本的RGB图像。所提出系统的步骤

  • RGB图像采集;
  • 将输入图像从RGB格式转换为HSI格式;
  • 遮蔽绿色像素;
  • 去除遮蔽的绿色像素;
  • 分割组件;
  • 获取有用的片段;
  • 评估分类的特征参数;
  • 为疾病检测配置SVM。
  • 颜色转换: HSI(色调、饱和度、强度)颜色模型是一种流行的颜色模型,因为它基于人的感知。转换后,仅考虑HSI颜色空间的H(色调)分量,因为它为我们提供所需的信息。
  • 遮蔽绿色像素: 这是因为绿色像素代表叶片的健康区域。根据指定的阈值值遮蔽绿色像素。

分割:

通过将受感染部分与其他类似颜色的部分(如看起来像疾病的棕色叶子分支)分割出叶子的感染部分,这些部分在遮蔽图像中被考虑在内,并被过滤。所有进一步的图像处理都是在此阶段定义的感兴趣区域(ROI)上进行的。

分类:

从之前的结果中,我们分析和评估诸如叶片面积、叶片感染百分比、叶子周长等特征参数,以及所有叶片图像的SVM分类器。

安装

cd file

安装一些所需的pip包,这些包在requirements.txt文件中指定。

pip3 install -r requirements.txt
或

sudo python3 setup.py install

就是这样。您已准备好测试应用程序了。

数据集创建

在叶采样器目录中运行:

python3 leafdetectionALLsametype.py -i .
或

python3 leafdetectionALLmix.py -i .
leafdetectionALLsametype.py

img

在这里插入图片描述

原图 用于在一个相同类别的图像(例如所有图像都感染了)上运行,而leafdetectionALLmix.py 用于为叶子图像的两个类别(感染/健康)创建数据集。请注意:代码设置为仅运行在指定目录中存在的 .jpg、.jpeg 和 .png 文件格式图像上。如果您希望,可以通过将其引入两个文件的第52行的条件语句中来添加更多文件格式支持。

img

在这里插入图片描述

检测结果图

代码 运行

运行以下代码:

python3 GUIdriver.py

其中{浏览}用于选择分类器的输入图像文件。

该代码运行两个文件:

首先,main.py用于图像分割和特征提取。

其次,main.py调用classifier.py对输入图像中的叶子进行分类,以确定其是否“感染”或“健康”。

重要代码

# 企鹅
while True: 
    if  n == ord('y'or'Y'):

        fieldnames = ['fold num', 'imgid', 'feature1', 'feature2', 'feature3']

        print ('Appending to ' + str(filename)+ '...')


        try:
            log = pd.read_csv(filename)
            logfn = int(log.tail(1)['fold num'])
            foldnum = (logfn+1)%10
            L = [str(foldnum), imgid, str(Tarea), str(Infarea), str(perimeter)]
            my_df = pd.DataFrame([L])
            my_df.to_csv(filename, mode='a', index=False, header=False)         
            print ('\nFile ' + str(filename)+ ' updated!' )


        except IOError:
            if directory not in os.listdir():
                os.system('mkdir ' + directory)

            foldnum = 0
            L = [str(foldnum), imgid, str(Tarea), str(Infarea), str(perimeter)]

            my_df = pd.DataFrame([fieldnames, L])
            my_df.to_csv(filename, index=False, header=False)
            print ('\nFile ' + str(filename)+ ' updated!' )

        finally:
            import classifier
            endprogram()


    elif n == ord('n' or 'N') :
        print ('File not updated! \nSuccessfully terminated!')
        break

    else:
        print ('invalid input!')
        break


    elif n == ord('n' or 'N') :
        print ('File not updated! \nSuccessfully terminated!')
        break

    else:
        print ('invalid input!')
        break

标签:识别系统,叶片,py,filename,str,图像,print,疾病,病害
From: https://blog.csdn.net/QQ_1309399183/article/details/143439184

相关文章

  • 安全带安全绳穿戴检测系统 工地行为识别系统
    安全带安全绳穿戴检测系统工地行为识别系统依赖于先进的机器视觉技术和深度学习算法,安全带安全绳穿戴检测系统工地行为识别系统通过分析监控摄像头捕捉的视频画面,自动识别出工作人员是否佩戴安全带和安全绳。当画面中出现未佩戴安全带或安全绳的工作人员时,系统将立即触发告警提......
  • 骑电动车戴头盔智能检测识别系统
    骑电动车戴头盔智能检测识别系统利用AI人工智能机器视觉分析识别技术,骑电动车戴头盔智能检测识别系统通过路口网络摄像头采集的视频,系统使用AI算法进行分析,准确识别出骑行者的安全隐患行为,如农用车载人、三轮车载人、三轮车不戴头盔、电瓶车不戴头盔、摩托车不戴头盔、电瓶车载人/......
  • 基于MATLAB多参数结合火焰识别系统
    一、课题介绍本设计为基于MATLAB的火焰烟雾火灾检测系统。传统的采用颜色的方法,误识别大,局限性强。结合火焰是实时动态跳跃的,采用面积增长率,角点和圆形度三个维度相结合的方式判断是否有火焰。该设计测试对象为视频,通过下一帧和上一帧的差异发现是否有火情,并可发出语音报警。......
  • 【叶片单元动量理论】分析给定螺旋桨几何形状在不同前进比下恒定转速下的性能研究(Matl
      ......
  • 工作牌佩戴监测识别系统
    工作牌佩戴监测识别系统充分利用了工厂现场已有的摄像头设备,无需额外的硬件投入。工作牌佩戴监测识别系统采用AI视频智能分析算法,实时对监控区域内的工作人员进行识别和检测。系统可以准确识别出人员是否佩戴了工作牌,并判断其是否符合要求。工作牌佩戴监测识别系统一旦监测到进入......
  • 基于深度学习+pytorch+Flask+SpringBoot+Vue+MySQL的水果识别系统
    目录前言1.登陆注册2.水果识别3.识别记录4.用户管理5.个人中心6.模型训练7.模型测试源码获取前言本系统是一个完整的基于深度学习+pytorch+Flask+SpringBoot+Vue+MySQL的水果识别系统。包括LeNet、AlexNet、VGG、GoogLeNet、ResNet、MobileNetV2网络模型。可以直接......
  • 基于深度学习+pytorch+Flask+SpringBoot+Vue+MySQL的动物识别系统
    目录前言1.登陆注册2.动物识别3.识别记录4.用户管理5.个人中心6.模型训练7.模型测试源码获取前言本系统是一个完整的基于深度学习+pytorch+Flask+SpringBoot+Vue+MySQL的动物识别系统。包括LeNet、AlexNet、VGG、GoogLeNet、ResNet、MobileNetV2网络模型。可以直接......
  • 30多种各类动植物病害人体疾病数据集下载地址汇总
    30多种各类动植物病害人体疾病数据集下载地址汇总名称【分类数据集】大豆叶子病害分类数据集1290张3类别.zip【分类数据集】棉花叶片病害分类数据集1709张4类别.zip【分类数据集】明虾病害分类数据集889张7类别.zip【分类数据集】皮肤癌病变分类数据集2357张9类别.zip【分类数......
  • 深度学习Python停车场智能车牌识别系统opencv流量费用时间AI源码
    随着智能交通技术的发展,停车场智能车牌识别系统逐渐成为现代停车管理的重要工具。该系统利用深度学习和计算机视觉技术,实现对车辆车牌的自动检测与识别,从而提高停车场的管理效率和用户体验。系统架构与功能模块车牌检测:系统首先利用目标检测算法(如YOLO或FasterR-CNN)对停车......
  • 工地升降机AI人数识别系统
    工地升降机人数识别系统采用了AI神经网络和深度学习算法,工地升降机AI人数识别系统通过升降机内置的摄像头实时监测轿厢内的人员数量。通过图像处理和人脸识别算法,系统能够精确地识别升降机内的人数。一旦系统识别到人数达到或者超过设定的阈值,工地升降机AI人数识别系统会立即通过......