MATLAB图像识别技术在棉花叶面病虫害识别上的

2023-11-08

MATLAB图像识别技术在棉花叶面病虫害识别上的应用



摘 要:棉花是新疆地区种植最为广泛的经济作物,利用MATLAB图像识别技术将相机采集到的患病棉花叶面经过图像灰度化、图像增强、图像二值化、图像形态学处理、图像填充、图像分割等预处理后用函数算法对患病区域面积进行特征参数识别。经试验,在病虫害发生期间,用MATLAB图像识别技术对患蚜虫病棉花叶面检测准确度为87.0%、枯萎病(黄萎病)81.0%、棉铃虫80.0%,说明在实际监测时存在误差,但准确率均达80.0%以上,可用于预防监测。

关键词:MATLAB图像识别;图像处理;函数;算法;特征参数

引言:棉花病虫害种类繁多,危害各不一样,根据发病时期大致可分为苗、蕾、花铃三个时期。棉花病虫害的早期识别和适时防治是棉花高产的重要环节。叶面识别技术的研究就是在机器视觉检测技术的基础上应用而生的,由于机器视觉系统可以快速获取大量信息并自动处理,容易同设计信息以及加工控制信息集成。利用计算机图像处理技术对农产品进行检测已是一种主流技术,在实现农作物叶面疾病识别的的自动化方面,图像识别技术有实时、无损、客观等优点。本文引入工程类 MATLAB软件,编写程序,通过其强大的图像处理技术,利用患病棉花叶面特征参数设计的函数算法有效识别患病棉花对棉农及时防控病虫害提供有效依据。

1.叶面图像采集

棉花叶面图像采集利用像素为4800万的摄像头拍摄得到格式为JPG图像,采集方法简单,没有较高的条件限制,便于该技术大范围推广使用。MATLAB中提供的imread()函数用于实现图像的读取操作,可读取JPG、TIF、GIF、HDF、XWD和 CUR等多种图像格式,经过MATLAB图片工具处理后形成可被函数读取的图片并形成形成与图片对相应得矩阵,由此得到后期可被程序处理的相应矩阵图片。

2.叶面图片预处理

2.1彩色图像灰度化处理

收集到的彩色图象(R红色、G绿色、B蓝色),三分量色彩基色多包多,软件处理信息量太大,为避免出现大量计算误差,我们对对叶面彩图进行灰度化处理以后只得到叶面图片亮度信息。所谓灰度化是将原图各像素点的三分量信息压缩成1个字节,具体采用加权平均法对三分量分配不同的权值,灰度图像是一种特殊的三分量彩图,其中一个像素点的变化范围为255种。灰度化处理后的灰度图片在常规256级灰度图下有256种不同灰度级颜色构成,其属性为一个由个体值数据构成的矩阵,类型为双精度矩阵,阈值是[0,1],类型为 unite8 类型,其阈值是[0,255],矩阵中的每个元素值均代表不同的亮度级和灰度级,当亮度值为0时表示黑色,当亮度值为1(或者 unite8 类型的255)时表示白色。计算公式为PGV=0.229×R+0.587×G+0.114×B,其中PGV为Pixel Gray Value像素灰度值缩写,R红色、G绿色、B蓝色为三分量基色。

上述算法的部分MATLAB代碼如下:

        clear all
        im=imread('蚜虫.jpg');
        figure('NumberTitle','off','name','原图');
        imshow(im);
        [x,y,z]=size(im);
        immax=ones(x,y);
        for i=1:x
         for j=1:y
         immax(i,j)=max(im(i,j,:));
         end
        end
        im(:,:,1)=immax;
        im(:,:,2)=immax;
        im(:,:,3)=immax;
        figure('NumberTitle','off','name','最大值灰度图像');
        imshow(im);

2.2图像增强

灰度化处理后的图像会出现部分像素孤立点,相当于信号传输中出现的噪声干扰,而图像增强就是消除信号干扰的滤波器,图像增强意味着有选择性的突出了程序需要判断的特征参量,提高了图像对比度,抑制了图片上存在的没用像素点,减少后期函数算法带来的不精确性。对比度的增加,使得所选图片区域色差更加明显,量的越亮,暗的越暗,其根本意义就是提取颜色分量最大值最小值,其公式为:(1)对比度 (Contrast)为: Con=∑ L-1 i=0 ∑ L-1 j=0 i-j kPij, 其中,δ (i,j) =|i-j|相邻像素间的灰度差;Pδ; (i,j)相邻像素间的灰度差是δ的像素分布概率。

2.3图像二值化

二值化就是通过非零取一等不同的阀值化变换方法,使灰度图变换成黑白二值图像,从而将我们所需特征参量图像从复杂目标背景图片中提取出来。其操作过程即先由用户指定或通过算法生成一个阀值,如果图像中某图像素的灰度值小于该阀值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。假设输入图像为f(x,y),输出图像为f'(x,y)则:; ; 阀值θ即为比对临界点,小于他就是黑。次变换函数为阶跃函数,只需给出阀值点θ,经过阀值处理后,图像变成了一幅黑白二值图。

2.4图像形态学处理

由于噪声干扰影响,阈值化后所的图像边界达不到理想中的平滑程度,利用图像形态学处理的邻域运算形式的特殊形式:“结构元素”(Structure Element),根据像素与二值图像对应的关系进行逻辑运算,结果为输出图像相应像素。

给定二值图像I(x,y)和作为结构元素的二值模板T(i,j),服饰与膨胀运算公式为:

腐蚀:

膨胀:

腐蚀是消除边界点,使边界向内部收缩。可用来消除小和无意义的物体。膨胀将物体接触的所有背景点合并到该物体中,使边界向外部扩张。可用来填补物体中空洞。先腐蚀后膨胀称为开运算,确保不改变其面积情况下以此消除细小、纤细点分离平滑较大物体。先膨胀后腐蚀叫做闭运算,用来填充细小空洞、连接临近物体平滑较大物体边界且不改变其相应面积。连续的开运算和闭运算有效消除了图像上的明亮细节,填充了阈值化后的噪声空洞,是后期运算效果更加理想。

软件运行代码如下:

        se=strel('disk',1);%定义方形结构元素
        imeBW=imerode(bm,se);%图像腐蚀
        figure('NumberTitle','off','name','图像腐蚀');
        imshow(imeBW);
        imdBW=imdilate(imeBW,se);%图像膨胀
        figure('NumberTitle','off','name','图像膨胀');
        imshow(imdBW);

2.5图像填充

通过局部填充得到物体与背景明显区分开的图像,填充边缘轮廓达到降低噪声的效果,采用BWfill=imfill(BW,’holes’)语句,使缺陷部位像素点呈白色。其算法操作分两部:首先由左至右逐行扫描图形,输出像素值为0则背景不做改变继续往后扫描直到遇到像素值为1的点为止。如果这个点的下一个点的像素值为0,表示扫描到了最左边的轮廓点,这时设置一个标记从这个点往后所有像素值为0的点全部置1,直到再次遇到像素值为1的点为止。此过程将这两个边界点之间的区域填充起来,然后接着扫描后面的点,当再次遇到像素值为1的點时重复以上步骤,这样一行行的扫描填充,整幅轮廓图就被填充起来了。

2.6图像分割

介于之前图像填充的不足之处,对图像又进行了图像分割,只把患病叶面部分分割出来。分割前对其进行反色处理,把背景和其他茎叶部分都剔除。过程为先把茎叶部分进行标记,然后去除标签部分,最终运用基于阈值的图像分割方法将棉花叶面患病部分分离出来。

利用可以反映图像内容特征的区域提取方法从颜色、纹理、形状等方面提取图像的基本特征。本次实验在其上对目标图像进行提取,只需区分不同区域性质,去掉标记的茎叶部分,只剩叶面患病区域和背景。此方法程序使用bwlabel函数,用于对二维二值图像中每个分离部分进行标注。选取的阈值为之前二值化图像得出的阈值结果为0.37,这时将叶面患病部分标记出来,便可对选中部分进行分割。

3.实验结果

仿真实验在2.5GHz,RAM为8GB的计算机上进行,采用MATLAB2018a软件编写代码。部分样本图像经处理后的病虫害原始图像和特征分割图像结果如图1所示。

4.总结

基于MATLAB软件的图像处理,调用函数方便,程序设计高效。首先通过图像预处理去除无用信息,接着将Hough变换算法降维进行叶面受损区域的定位,最后搜索定位,求出受损区域坐标,根据反映图像特征与样本患病叶面程序对比得出棉花叶面患病名称,用MATLAB图像识别技术对患蚜虫病叶面监测准确率为87.0%、枯萎病(黄萎病)81.0%、棉铃虫80.0%,说明在实际监测中存在误差,但准确率均达80.0%以上。

参考文献:

[1]赖特.基于模板匹配及人工神经网络算法的图像识别应用——MATLAB实现机动车牌号码辨识[J].智能建筑与智慧城市,2017(11):45-48+52.

[2]朱玥凝.基于Matlab图像识别的交通信号灯智能控制[J].信息通信,2016(11):94-95.

[3]王蔚扬,丁嘉月,汪鹏洪,卢正勇.基于MATLAB的靶纸图像识别研究[J].计算机时代,2016(11):17-20+24.

[4]丁功瀛,徐大卫.MATLAB图像识别技术在彩浆薄层沥青路面油污评价中的应用[J].大连交通大学学报,2016,37(02):73-76.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB图像识别技术在棉花叶面病虫害识别上的 的相关文章

随机推荐

  • FinalShell上传文件失败

    本地电脑创建虚拟机 使用FinalShell连接虚拟机 上传文件失败 解决办法 使用root账户连接 不要使用普通账户
  • SpringBoot-黑马-笔记

    SpringBoot 是由 Pivotal 团队提供的全新框架 其设计目的是用来简化 Spring 应用的初始搭建以及开发过程 目录 1 SpringBoot快速入门 起步依赖 程序启动 2 配置文件 yaml配置文件数据读取 多环境配置
  • 万字因果推断入门:为什么要做因果推断?

    来源 PaperWeekly 1 为什么需要因果推断 1 1 辛普森悖论 首先 考虑一个与现实情况很相关的例子 针对某种新冠病毒 COVID 27 假设有两种疗法 方案 A 和方案 B B 比 A 更稀缺 耗费的医疗资源更多 因此目前接受方
  • APP爬虫入门,Appium+Mitmproxy强势组合实现抖音的数据爬取

    APP爬虫入门 Appium Mitmproxy强势组合实现抖音的数据爬取 最近一直在研究APP的爬虫实现 前面文章讲了虚拟机和Appium环境的搭建 和 SSL PINNING的解决方法 主要难点在于解决APP开启SSL Pinning导
  • property received type-uncompatible value: expected <Array> but got non-array value.

    Component property received type uncompatible value expected
  • JSP基础总结+例题

    1 什么是JSP Java Server Pages 1 1概述 简化的Servlet设计 在HTML标签中嵌套Java代码 用以更新开发Web应用的动态网页 JSP文件在容器中会转换成Servlet执行 JSP是对Servlet的一种高级
  • 笔记记录--Docker使用WVP-Pro网络视频平台

    1 Docker拉取镜像 镜像地址 docker镜像地址 docker pull 648540858 wvp pro docker run env WVP IP 192 168 18 61 it p 18080 18080 p 30000
  • Ag-grid在vue中使用的必要属性

    文档链接 id myGrid 唯一标识 gridReady 渲染完成后的事件 defaultColDef this defaultColDef 默认定义 所有的列都有的属性 context this context componentPar
  • 阿里巴巴——三面,面试经历记录

    在 boss 直聘上无意间看到了阿里巴巴菜鸟网络的招聘信息 现在的部门已经有两名同学被蚂蚁金服录取了 自己就不服气的也想试试 这次面试其实并没有准备充分 之前就听说总共有很多轮数 不仅会考察基础知识的深度 也会考察算法能力 项目设计能力 价
  • 精准测试之过程与实践

    作者 京东工业 宛煜昕 一 怎样的技术 百度百科 精准测试是一套计算机测试辅助分析系统 精准测试的核心组件包含的软件测试示波器 用例和代码的双向追溯 智能回归测试用例选取 覆盖率分析 缺陷定位 测试用例聚类分析 测试用例自动生成系统 这些功
  • image caption问题为什么需要spatial attention

    参考论文 SCA CNN Spatial and Channel wise Attention in Convolutional Networks for Image Captioning image caption是一个image to
  • android 经纬度 谷歌,android:GPS获取location经纬度并用谷歌解析为地理位置名称

    实现的功能 先获取本地的经纬度 再根据经纬度 请求googleapis来解析地理位置名称 下面的例子 能够跑起来 亲测 多说无益 看码 首先搞一个布局 其实就是一个textView 一个button 点击button后 在textview展
  • python3 赋值列表sort打印出None的解决方法

    d 42 62 78 19 13 53 67 35 sort print d d 42 62 78 19 13 53 67 35 print d sort 结果如下 None None 列表创建了之后 执行列表排序 不在变量里排序 因为so
  • python 大学排行网站全部排行数据

    RANKINGS CRAWLER 中国大学排名 中国两岸四地排名 全球体育类院系大学排行 世界大学学术排名 中国最好学科排名 中国大学专业排名 世界一流学科排名 每个专业学科排行都有 方法跟实际代码有变动 方法一 获取中国大学排名 中国两岸
  • js逆向-某市公共资源交易网

    目标网站首页 aHR0cDovL2dnenkuendmd2IudGouZ292LmNu 分析页面 aHR0cDovL2dnenkuendmd2IudGouZ292LmNuL3h3engvaW5kZXhfMi5qaHRtbA 话不多说 开始今
  • 使用systemctl命令启动和关闭mysql

    以前都用service命令管理mysql 现在liunx系统升级了 又有了新的更好的方法管理系统进程 现在我们来学习如何用systemctl命令管理mysql Systemctl是一个systemd工具 主要负责控制systemd系统和服务
  • P5367 【模板】康托展开【树状数组优化】

    题目链接 include
  • DCIC-A城市巡游车与网约车运营特征对比分析-2-可视化

    接前述 数据读取 上次遗留下两个问题 1 该案例的数据集过多 如果每次读一个数据的部分行 比如10000行 那在拼接所有数据集的时候也是每个数据只读10000行吗 回答 虽然我们通过更改数据类型 使得原始数据的大小有所改变 但如果想要把所有
  • 人工智能数据标注案例之人脸识别案例

    人工智能是未来的发展趋势 人脸识别是人工智能应用最为广泛的一项技术 在现实生活中 我们使用的支付宝 微信的安全验证 智能手机的人脸解锁功能等都运用到了人脸识别 作为人工智能发展的三大要素之一 数据的作用不可小觑 其中数据采集与数据标注是数据
  • MATLAB图像识别技术在棉花叶面病虫害识别上的

    MATLAB图像识别技术在棉花叶面病虫害识别上的应用 摘 要 棉花是新疆地区种植最为广泛的经济作物 利用MATLAB图像识别技术将相机采集到的患病棉花叶面经过图像灰度化 图像增强 图像二值化 图像形态学处理 图像填充 图像分割等预处理后用函