小波模极大值用于边缘提取.doc

小波模极大值用于边缘提取.doc

ID:57322217

大小:19.50 KB

页数:6页

时间:2020-08-11

小波模极大值用于边缘提取.doc_第1页
小波模极大值用于边缘提取.doc_第2页
小波模极大值用于边缘提取.doc_第3页
小波模极大值用于边缘提取.doc_第4页
小波模极大值用于边缘提取.doc_第5页
资源描述:

《小波模极大值用于边缘提取.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、小波模极大值原理在图像边缘提取和信号奇异点检测中的应用《转》2007-05-2610:18不做小波很久,陆续接到网友的很多询问,不少信件关于这个话题。本不想花功夫写程序,因为毕竟研究方向是计算电磁学,然对小波的好奇仍是一种抗拒不了的力量。再加上网友的一遍遍不厌其烦的请教,我也就利用半天时间,将这一话题做了一个程序,拿出来分享。1。什么是模极大值?一般信号的主要信息,由拐点(二阶导数为零的点)确定,而由于噪声的影响,直接求拐点显然困难。于是,我们求一阶导数的模的极大值。2。什么是小波模极大值?就是先将小波函数和原信号卷积(连续小波变换),然后对结果取模,最后找到极大值。上述步骤,也就等价于:先

2、把某一光滑函数求导(求导后满足积分为零的条件成为小波函数),然后卷积源信号,接着取模,最后发现极大值。3。图像处理的操作。a、给定某一尺度,求出二维高斯函数沿x和沿y方向的导数Phi_x,Phi_y。这两个函数就等价于小波函数。b、用Phi_x,Phi_y分别与图像卷积得到Gx,Gy。c、求出每一个像素点的梯度大小G=(Gx*Gx+Gy*Gy).^(1/2),用反正切求梯度方向或者称幅角atan(Gy/Gx)。这里,注意的是反正切只能求出一、四象限的角度,其它象限要分别处理。且Gx为一个很小的数值时,也要处理。d、把求得幅角,分成四种方向。第一种0或180方向(水平),第二种90或270方向

3、(垂直),第三种45或225方向(正对角线),第四种135或315方向(负对角线)。也就是说,看看你求出幅角的大小与上面的哪个方向最接近。e、依次检测每一个像素点,看看在它对应“幅角最接近的方向上”是否是极大值。如果是,纪录该梯度值。若不是,把梯度值置零。f、找到记录梯度值中的最大值,然后以该值做归一化。比较每一个像素归一化的梯度值,当该梯度值大于某个阈值的时候,就是真正边缘,否则认为是伪边缘。4。实际上这个算法和canny算子本质上等价的。让我们再来回顾canny本人经典的原话,来体会边缘提取的目标到底是什么。a、好的检测性能。不漏检真实边缘,也不把非边缘点作为边缘点检出,使输出的信噪比最

4、大。b、好的定位性能。检测到的边缘点与实际边缘点位置最近。c、唯一性。对于单个边缘点仅有一个响应。沙威(gjsdgjsd)安徽大学2007年4月22日%  小波模极大值用于边缘提取%  沙威(gjsdgjsd)安徽大学%  2007年4月22日clc;clear%  下载图像loadwoman%X=double(imread('1.bmp'));SIZE=length(X);  %  图像尺寸    %  多尺度m=1.0;delta=2^m;%  构造高斯函数的偏导N=20;  %  滤波器长度(需要调整,必须是偶数)forindex_x=1:N;    forindex_y=1:N;  

5、      x=index_x-(N+1)/2;        y=index_y-(N+1)/2;        phi_x(index_x,index_y)=(x/delta^2).*exp(-(x.*x+y.*y)/(2*delta^2));        phi_y(index_x,index_y)=(y/delta^2).*exp(-(x.*x+y.*y)/(2*delta^2));    endend;%  对图象做行列卷积Gx=conv2(X,phi_x,'same');Gy=conv2(X,phi_y,'same');%  求梯度Grads=sqrt((Gx.*Gx)+(Gy

6、.*Gy));%  求幅角(梯度方向)angle_array=zeros(SIZE,SIZE);  %  角度%  遍历fori=1:SIZE;    forj=1:SIZE        if(abs(Gx(i,j))>eps*100)  %  x的绝对值足够大            p=atan(Gy(i,j)/Gx(i,j))*180/pi;  %  反正切求角度值(1,4象限)            if(p<0)        %  负的幅角(4象限)                p=p+360;            end;            if(Gx(i,j)<0&p

7、>180)     %  2象限的特殊处理                p=p-180;            elseif(Gx(i,j)<0&p<180)%  3象限的特殊处理                p=p+180;            end        else  %  90或270度            p=90;        end        angle_array(i,j)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。