预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

改进的经验模式分解方法及其在图像边缘 检测中的应用 Improvementempiricalmodedecompositionmethodanditsapplication inimageedgedetection 郭艳光,程显生 GUOYan-guang,CHENGXian-sheng (内蒙古农业大学职业技术学院,包头014109) 摘要:边缘检测是图像处理与识别中最基础的内容之一,二维经验模式分解方法(BEMD)在非平稳 信号的处理应用中具有很多独特的优点,但一般的算法速度较慢,本文提出了一种基于经验 模式分解的改进算法,实验表明,改进后的算法能快速得到较为理想的边缘信息。 关键词:边缘检测;经验模式分解(EMD);模态函数(IMF) 中图分类号:TP273文献标识码:A文章编号:1009-0134(2010)12(上)-0019-04 Doi:10.3969/j.issn.1009-0134.2010.12(上).07 0引言1EMD原理 图像特征提取是图像处理的关键技术之一,一维EMD的基本思想是:选取区域范围,从 图像边缘检测涉及图像中研究对象的特征提取,图像中找出信号中每个区域的局部极大值和局部 在实际的数字图像处理中,图像的边缘包含了极小值点,对极大值点和极小值点分别进行曲线 图像的位置、轮廓等特征,是图像的基本特征之插值,获得信号的上、下包络线,计算平均包络 一,好的边缘检测算法对进行更高层次的图像分线,计算原信号与平均包络线的差值,然后利用 析、理解等有不可忽视的实用价值和影响。筛选算法把符合模态函数(IMF)的信号分解出 传统的边缘检测算子中Roberts算子、Priwitt算来。循环获得频率逐渐降低的多个模态函数。 子、Sobel算子、Canny算子等,将边缘点理解为模态函数必须满足:1)数据序列x(t)的极值 灰度突变点,通过不同的算子提取。但是,噪声点数目与零点数目之差少于2个,2)上、下包络 也是图像灰度变化中的高频成份,检测结果噪声的均值为零。第二个条件较为苛刻,将其用另外 较多;Gauss-Laplace和Canny算子较好的实现的标准代替: 了图像边缘提取,但不能满足实际中对图像边 缘提取的要求;还有小波方法、基于热传递方 法、广义模糊算子方法等同样存在漏检边缘、式中hk(t)是IMF分量提取模块中本次循环过 模糊等缺陷。程中求得的平均包络,hk-1(t)是上次循环过程中求 二维经验模式分解方法在非平稳信号的处理得的平均包络,0……T是平均包络线所包含的时 应用中具有很多独特的优点。因此,把经验模式刻。SD值一般在0.2-0.3。 分解方法应用到边缘提取中,能提取出具有良好二维EMD分解实现过程: 性质和结果的边缘。但经验模式分解最大的缺点1)对所给图像求取曲面局部极值点,包括所 是算法的时间复杂度大。本文将详细阐述EMD的有局部极大值和极小值。 原理及其实现方法,介绍一种快速经验模式分解2)求取均值包络曲面。极值点选取之后,对 方法并将其应用于图像边缘提取,将图像中的边各极大值点和各极小值点分别进行曲面拟合,经 缘快速有效的提取出来。插值后得到极大值点曲面包络和极小值点曲面包 收稿日期:2010-07-22 作者简介:郭艳光(1974-),女,内蒙古赤峰人,讲师,硕士,主要从事图形图像研究和职业技术教育工作。 第32卷第12期2010-12(上)【19】 络,将两曲面数据求平均得到均值包络曲面。则计算该win行win列矩阵平均值avg。如果最大值 3)计算原始曲面与均值包络曲面。和最小值的数目不相等,则win=win+2,跳转到2 4)与一维相似需计算终止条件。步,当win=3+2N时最大值和最小值的数目还不相 重复步骤1~3,直到满足给定的终止条件得等,则计算win行win列矩阵平均值avg(i,j); 到第一个模态函数IMF1,用原图像减去第一个模态(4)循环得到图像中每一点的平均值avg(i,j); 函数得到第一个残余(residue),对残余重复步(5)IMF=r(i,j)-avg(i,j),求出第一个模式函 骤1~步骤4,依次得到图像的N个固有模态函数和数IMF; 第N个残余。根据此方法对图像进行分解,结果为4)循环得到i个IMF。 下图所示:改进的BEMD部分程序: functionimf=ixagewemd1(x,n) [hg,wd]=size(x);%hg高、行数,wd宽、列数 imf=[];img_lin=x;thd=2; forcishu=1:n%提取图中的最大值和最小值, win_max=5+2.*(cishu-1); img_avg=0; max_img=0; min_img=0; fori=2:hg-1 forj=2:wd-1 if((img_li