基于MATLAB的玉米株型图像分割技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB的玉米株型图像分割技术
作者:梁淑敏
来源:《农业与技术》2012年第06期
摘要:计算机视觉技术的发展使MATLAB越来越广泛的应用于农业的各个领域,在处理数字玉米图片中,为了更好的将物体与背景分割开,用对MATLAB对玉米成株株型进行分割。

成功将自然光下图像中的物体与背景分割开。

关键词:MATLAB;玉米;背景分割
中图分类号:S126文献标识码:A
在作物栽培和育种实践中,掌握作物株型是非常重要的。

作物株型不仅影响作物的光合效率,营养分配,抗倒性和栽培最佳密度等,而且还是农学实验的重要检测指标,因此对作物株型作精确、定量化描述有重要意义。

要对作物形态进行精确定量化描述,图像处理技术是解决此问题的一种先进方法,对图像预处理的重要方面就是对图像进行分割,克服了传统方法的效率低,准确性差等缺点。

要对作物形态进行精确定量化描述,图像处理技术是解决此问题的一种先进方法。

数字图像处理的目的是对图像进行加工和分析,为了增强图像中的有用成分,抑制噪声成分,以达到有效提取玉米株型图像中所包含的某些特征或特殊信息,因此必须用计算机视觉技术对图像进行预处理,克服了传统方法的效率低,准确性差等缺点。

模板运算可完成对图像的滤波,如图像平滑和图像锐化。

图像平滑的目的是模糊和消除噪声,平滑采用低通滤波器完成,在空域中全是正值。

图像锐化的目的增强被模糊的细节,锐化采用高通滤波器完成,在空域中,接近原点处为正值,在远离原点处为负值。

图像增强可用模版卷积完成。

下面就MATLAB在图像处理中各方面的应用分别进行介绍。

图像处理工具包是由一系列支持图像处理操作的函数组成的,是MATLAB工具包中的一种,它所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT 变换等) 、图像分析和统计、二值图像操作等。

1图像文件格式的读写和显示
MATLAB提供了图像文件读入函数imread( ),用来读取如: bmp、tif、jpg、pcx、tiff、gpeg、hdf、xwd等格式图像文件;图像写出函数imwrite( ),还有图像显示函数image( )、imshow( )等等。

2图像处理的基本运算
MATLAB提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性运算。

例如,conv2(I,J)实现了I,J两幅图像的卷积。

3图像变换
MATLAB提供了一维和二维离散傅立叶变换(DFT)、快速傅立叶变换(FFT)、离散余弦变换(DCT)及其反变换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。

4图像的分析和增强
针对图像的统计计算,MATLAB提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。

5图像的数学形态学处理
针对二值图像,MATLAB提供了数学形态学运算函数:腐蚀( Erode)、膨胀(Dilate)算子,以及在此基础上的开(Open)、闭(Close)算子、厚化(Thicken)、薄化(Thin)算子等丰富的数学形态学运算。

以上所提到的MATLAB在图像中的应用都是由相应的MATLAB 函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。

具体的用法可参考MATLAB丰富的帮助文档。

图像边缘对图像识别和计算机分析十分有用,下面是MATLAB在图像分割和边缘检测研究中的一个具体应用实例。

在MATLAB中,利用Sobel方法、Prewitt方法、Robert方法、Laplacian-Gaussian方法进行滤波。

成功将自然光下图像中的物体与背景分割开。

;%读取图像
figure ,imshow(xx);%显示图像
xx=double(xx)/255;
xx1=imcrop(xx,[80 15 300 568]);%对图像进行切割,选取有用的图像
xx2=xx1(:,:,3);图像的蓝色通道图像imshow(xx2);
imhist(xx2,100);图像的灰度直方图
图1
binary_xx=im2bw(xx2,;图像的二值图
figure,imshow(binary_xx);
(1)利用二个低通邻域平均模版(3*3和9*9)对一幅图像进行平滑,验证模板尺寸对图像模糊效果的影响。

subplot(2,2,1);imshow(xx);title(′原图像′);
subplot(2,2,2);imshow(xx2);title(′原蓝色通道图像′);
J=fspecial(′average′);J1=filter2(J,binary_xx);
subplot(2,2,3);imshow(J1);title(′3*3 average′);
K=fspecial(′average′,9);K1=filter2(K,binary_xx);
subplot(2,2,4);imshow(K1);title(′9*9 average′);
图2
(2)利用一个低通模板对一幅有噪图像(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5*5的线性邻域平均模板和一个非线性模板;3*5中值滤波器)对噪声的滤波效果。

binary_xx1=double(binary_xx);
J=imnoise(binary_xx1,′gaussian′,0,;
figure,subplot(2,2,1);imshow(binary_xx);title(′原二值图像′);
subplot(2,2,2);imshow(J);title(′add noise′);
K=fspecial(′average′,5);K1=filter2(K,J);
subplot(2,2,3);imshow(K1);title(′5*5 average′);
L=medfilt2(J,[3 5]);
subplot(2,2,4);imshow(L);title(′3*5 medium′);
图3
(3)选择一个经过低通滤波器滤波的模糊图像,利用sobel 和prewitt水平边缘增强高通滤波器(模板)对其进行高通滤波图像边缘增强,验证模版的滤波效果。

figure,subplot(2,2,1);imshow(binary_xx1);title(′原二值图像′);
J=fspecial(′average′,3);J1=filter2(J,binary_xx1);
subplot(2,2,2);imshow(J1);title(′3*3 lowpass′);
K=fspecial(′prewitt′);K1=filter2(K,binary_xx1)*5;
subplot(2,2,3);imshow(K1);title(′prewitt′);
L=fspecial(′sobel′);L1=filter2(L,binary_xx1)*5;
subplot(2,2,4);imshow(L1);title(′sobel′);
图4
(4)选择一幅二值图像分别利用一阶sobel算子和二阶Laplacian算子对其进行边缘检测,比较检测效果。

figure,subplot(2,2,1);imshow(xx);title(′原图像′);
subplot(2,2,2);imshow(binary_xx1);title(′原二值图像′);
K=fspecial(′laplacian′,;K1=filter2(K,binary_xx1);K1=imadjust(K1,[,],[0,1],;
subplot(2,2,3);imshow(K1);title(′laplacian′);
L=fspecial(′sobel′);L1=filter2(L,binary_xx1);L1=imadjust(L1,[,],[0,1],;
subplot(2,2,4);imshow(L1);title(′sobel′);
图5
结论:从图像上可以看出,3*3低通邻域平均模版对玉米图像与背景进行分割有较好的效果,有效地模糊和消除了图像噪声,提高了图像质量,而二阶Laplacian算子对其进行边缘检测效果较好。

为快速有效的提取玉米图像特征作好了充分准备。

参考文献
[1]张弦,严衍录.用图形图像技术处理作物图像提取作物形态信息[J].中国农业科学,1996,29(5):89-93.
[2]王玉顺.山西农业大学MATLAB上机试验指导书[M].85-105.
[3]何希平,张琼华.基于MATLAB的图像处理与分析[J].重庆工商大学学报(自然科学版),2003,20(02):22-26.
[4]孙兆林.Matlab6.x图像处理[M].北京:清华大学出版社,2002.5:146-161.
[5]胡小锋,赵辉.Visual C++/MATLAB图像处理与识别实用案例精选[M].北京:人民邮电出版社,2004.9.1:240-249.。

相关文档
最新文档