• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

摘要:在对粮虫图像处理过程中,介绍了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 用直方图均衡实现图像增强
    当图像对比度较低,即灰度直方图分布区间较窄时,可用直方图均衡实现灰度分布区间展宽而达到图像增强的效果。下面是实现的源程序及相关功能的注解:
%源程序:image1m
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
    
   
用直方图均衡实现图像增强
程序运行后,可得如图的对比图像。达到比较好的效果
2.2 图像的边缘检测及特征提取
    图像的边缘是图像基本的特征之一。所谓边缘是指其周围像素灰度有阶跃性变化或屋顶变化的像素的集合。物体的边缘是由灰度的不连续性所致,因此考察图像每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律即可检测图像边缘。特征在一定程度上可以反映昆虫的体型结构,如面积、周长、偏心率、形状参数、孔洞数、欧拉数、圆形性、似圆度、球状性、叶状性等,特征的选择是图像识别的关键,对判别特征的选择采用特征值直接比较的方法,得到判别特征为面积、偏心率和孔洞数。二叉分类法类似于传统的昆虫检索表的形式,即找出判别特征后,对不同的特征根据分类阈值按二分的方法进行分类;相似距离分类方法是把待判图像与一个标准图像相比,看他们是否相同或相似,标准图像用样本图像特征向量的均值来表示。通过计算待判图像与标准图像之间的相似距离来对待判图像进行分类。从而能更好的对储粮害虫图像进行处理和分析。下面是实现的源程序及相关功能的注解:
%源程序:image2m
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)        %计算粮虫图像的均值
              
图2 图像的边缘检测方法比较
2.3        用形态学方法进行图像处理与分析
用形态学方法对灰度图像进行处理与分析的技术要点,即对灰度图像进行如下操作:去除图像的不均匀背景;用设置阈值的方法(thresholding)将结果图像转换成二值图像;通过成分标记(components labeling)返回图像中的目标对像属性,并计算目标对像的统计数字特征。
下面是实现的源程序及相关功能的注解:
%源程序:image3m
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
 
       
形态学方法
 
3 结束语
    MATLAB具有强大的图像处理能力,有许多经典的图像处理方法,我们在粮虫图像增强处理过程中,在边缘的检测,以及特征的提取中,都取得了比较好的效果,同时,我们用
形态学方法对图像处理,能很好的提取粮虫图像的特征参数,为我们的判断、识别粮虫作了很好的准备,成效显著。
 
参考文献:
[1]张兆礼,现代图像处理技术及MATLAB实现[M],人民邮电出版社,2001年
[2]章毓晋,图像处理和分析[M],清华大学出版社,1999年
[3]崔屹.图像处理与分析——数学形态学方法及其应用[M].北京:科学出版社,2000
[4]潘峰,刘文予,朱光喜MATLAB在图像处理与研究中的应用[J],计算机应用研究,1999,16(12)73-75

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi中exit、break、continue等跳出操作的区别发布时间:2022-07-18
下一篇:
Delphi项目的构成(Files That Make Up a Delphi Project)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap