基于MATLAB的储粮害虫图像处理方法

基于 MATLAB 的储粮害虫图像处理方法
周龙
  (武汉工业学院电气信息工程系, 430023
摘要: 在对 粮虫图像处理过程中,介绍了 Matlab 图像处理工具箱中的函数,给出了图像处理与分析的技术实现 , 边缘检测及轮廓提取 , 通过形态学方法进行图像特征抽取与分析, 达到了比较好的效果.
关键词: 粮虫图像   边缘处理   形态学变换   特征抽取
Image of food insect processing based on Matlab
                               Zhou long
(Department of electrical & information engineering,Wuhan Polytechnic University, 430023)
Abstract: In the food insect image processing,this paper first introduces the functions of Matlab image processing,then presents some techniques in image processing and analysis,such as edge recognition,outline track and image feature extracting and analysis with morphological methods,It gets good result.
Key words: image of food insect, edge processing,morphological transform,feature extraction
 
   我国是农业大国, 粮食产后储藏期间 , 储粮害虫造成的危害十分严重。并且, 近年来储粮害虫的种类和密度呈上升趋势,致使储粮损失更加严重。 为了有效防治害虫,就要预测它们发生趋势﹑数量﹑种群动态及潜在为害,而且也要评估各项防治措施和策略所得到的不同预期结果。
     我们 以MATLAB 6.5为开发工具,总体框图如下,具体工作流程如下:CCD获取原始图像后,经阈值(由概率统计得到或者是经验阈值)使图像二值化快速判断该桢图像是否有粮虫。若有粮虫,运用图像的边缘检测和轮廓提取及跟踪,得到粮虫的轮廓,进一步提取粮虫的各种参数,如面积,周长,复杂度等特征,并由系统本身的专家系统进行判断。检测完毕后,给出仓内各种粮虫种类及密度,并提示相应的防治措施。
1           MATLAB 的图像处理工具概述
Matlab 提供了 20 类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所

基金项目:湖北省自然科学基金资助项目 (2003ABA053) ;武汉市青年科技晨光计划资助项目 (20035002016_09) ;湖北省教育厅基金资助项目 (2003A001)。

有的技术方法,有图像处理工具箱函数在有噪和退化图像的恢复图形绘制图形几何变换图像增强二值分析小波分析和分形几何用于图像处理,灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换;以及图形用户界面设计等方面的工程实际应用。

2          应用MATLAB工具箱进行储粮害虫图像分析处理
2.1  用直方图均衡实现图像增强
    当图像对比度较低,即灰度直方图分布区间较窄时,可用直方图均衡实现灰度分布区间展宽而达到图像增强的效果。下面是实现的源程序及相关功能的注解:
%源程序: image1 m
clear,close all                 %清除所有内存变量,图形窗口
A = imread('rice.tif');         %将图像文件rice.tif的图像像素数据读人矩阵I
imshow(A)                       %显示图像A,图像对比度低,如图a
figure, imhist(A)               %在新图形窗口中显示图像A的直方图如图b。可以注意到图像亮度范围相当狭窄
A2=histeq(A);                   %对图像A做直方图 衡补偿
figure, imshow(A2)         %在新图形窗口中显示新图像A2,图c
figure, imhist(A2)              %在新图形窗口中显示图像A2 直方图 ,如图d
    
   abcd图
用直方图均衡实现图像增强
程序运行后,可得如图的对比图像。达到比较好的效果
2.2 图像的 边缘检测及特征提取
    图像的边缘是图像基本的特征之一。所谓边缘是指其周围像素灰度有阶跃性变化或屋顶变化的像素的集合。物体的边缘是由灰度的不连续性所致,因此考察图像每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律即可检测图像边缘。 特征在一定程度上可以反映昆虫的体型结构,如面积、周长、偏心率、形状参数、孔洞数、欧拉数、圆形性、似圆度、球状性、叶状性等,特征的选择是图像识别的关键,对判别特征的选择采用特征值直接比较的方法,得到判别特征为面积、偏心率和孔洞数。二叉分类法类似于传统的昆虫检索表的形式,即找出判别特征后,对不同的特征根据分类阈值按二分的方法进行分类;相似距离分类方法是把待判图像与一个标准图像相比,看他们是否相同或相似,标准图像用样本图像特征向量的均值来表示。通过计算待判图像与标准图像之间的相似距离来对待判图像进行分类。从而能更好的对储粮害虫图像进行处理和分析。下面是实现的源程序及相 关功能的注解:
%源程序: image2 m
i=imread('rice.tif');BW1=edge(i,'log');imagesc(BW1,[0 1]);     %如图1
i=imread('rice.tif');BW1=edge(i,'sobel');imagesc(BW1,[0 1]);   %如图2
i=imread('rice.tif');BW1=edge(i,'roberts');imagesc(BW1,[0 1]); %如图3
i=imread('rice.tif');BW1=edge(i,'canny');imagesc(BW1,[0 1]);    %如图4
i=imread('rice.tif');BW1=edge(i,'prewitt');imagesc(BW1,[0 1]);   %如图5
i=imread('rice.tif');BW1=edge(i,'zerocross');imagesc(BW1,[0 1]); %如图6
i=imread('rice.tif');a=im2bw(i);total=bwarea(a); total %计算 粮虫 图像的面积
i=imread('rice.tif');a=im2bw(i);total=bwperim(a)        %计算 粮虫 图像的周长
i=imread('rice.tif'); a=im2bw(i);image(a);bweuler(a)     %计算 粮虫 图像的欧拉数
i=imread('rice.tif'); a=im2bw(i);s=std2(a)         %计算 粮虫 图像的方差
i=imread('rice.tif'); a=im2bw(i);m=mean2(a)        %计算 粮虫 图像的均值
              
abcdef图
图2 图像的 边缘检测方法比较
2.3        用形态学方法进行图像处理与分析
用形态学方法对灰度图像进行处理与分析的技术要点,即对灰度图像进行如下操作:去除图像的不均匀背景;用设置阈值的方法( thresholding )将结果图像转换成二值图像;通过成分标记( components labeling )返回图像中的目标对像属性,并计算目标对像的统计数字特征。
下面是实现的源程序及相关功能的注解:
%源程序: image3 m
a=imread('rice.tif');figure,imshow(a);      %读取和显示灰度图rice.tif,图a
background=imopen(a,strel('disk',15)); %取半径为15的圆盘结构元素对图像用开运算估计背景
figure,imshow( background);            %显示背景图,图b
figure,surf(double(background(1:16:end,1:16:end))),zlim([0 255]);   %显示背景的彩色表面,对16×16格取样,图c
b=imsubtract(a,background);figure,imshow(b)   %从原图像中减去背景图像,并显示结果图d
d=imadjust(b,stretchlim(b),[0 1]);figure,imshow(d); %调节对比度,并显示结果图e
level=graythresh(d);bw=im2bw(d,level);figure,imshow(bw) %转换成二值图像,图f
[labeled,numObjects]=bwlabel(bw,4);        %成分标记
grain=imcrop(labeled) %用鼠标选取实现交互式剪裁标成分的一部分
RGB_label=label2rgb(labeled,@spring,'c','shuffle'); % 一个标记矩阵转换成一个RGB图像
figure,imshow(RGB_label);    %显示RGB图像,图g
graindata=regionprops(labeled,'basic') %为rice的每一经阈值处理
allgrains=[graindata.Area] %点号存取graindata的所有元素的面积域并将该数据存入
max(allgrains)      %找最大谷粒的大小
biggrain=find(allgrains==ans) %使用find指令找出最大谷粒的成分标记
mean(allgrains)      %求平均粒径
hist(allgrains,15) %作包含15个方柱的显示谷粒大小分布的直方图,图h
 
       
abcd图
efgh图
形态学方法
 
3 结束语
    MATLAB具有强大的图像处理能力,有许多经典的图像处理方法,我们在粮虫图像 增强处理过程中,在边缘的检测,以及特征的提取中,都取得了比较好的效果,同时,我们用
形态学方法对图像处理,能很好的提取 粮虫图像的特征参数,为我们的判断、识别粮虫作了很好的准备,成效显著。
 
参考文献:
[1]张兆礼,现代图像处理技术及 MATLAB实现 [M] ,人民邮电出版社,2001年
[2]章毓晋,图像处理和分析 [M] ,清华大学出版社,1999年
[3] 崔屹.图像处理与分析——数学形态学方法及其应用 [M] .北京:科学出版社, 2000
[4]潘峰,刘文予,朱光喜 MATLAB在图像处理与研究中的应用 [J] ,计算机应用研究,1999,16(12) 73-75.
 
作者简介:
周龙:男, 1970 年生,湖北省武汉市,博士,副教授, 1998 年毕业于华中科技大学电气系,获博士学位。目前从事电气控制技术、模式识别、智能方法及其应用方面的研究工作。在国内外学术期刊发表论文 30 多篇,其中被四大检索收录 5 篇。目前承担的课题有湖北省自然科学基金“基于机器视觉的储粮害虫检测系统的研究与实现” 项目编号: 2003ABA053) ,武汉市青年科技晨光计划项目“基于机器视觉的储粮害虫智能检测方法研究” 项目编号: 20035002016_09
 
通讯地址:湖北武汉汉口常青花园武汉工业学院电气信息工程系
邮政编码: 430023
电话:( 027 62639631 83913547
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值