资源简介
冲击滤波模型是一种用于图像边缘增强的常用算法
代码片段和文件信息
function outIm = CoherenceESF(IKdetn)
%n -- 迭代次数
I = double(I);
%Kdet = 1; %%Kdet决定了目标纹理结构的尺寸大小,一般取0.5到2,对处理结果影响很大
h = 1; %空间步长
dett = 0.1;
for k = 1:n
k
%|detI|
%计算Ii+1j
temp1 = ijTrans(I0);
%计算 Ii-1,j
temp2 = ijTrans(I1);
%计算 Ii,j+1
temp3 = ijTrans(I2);
%计算Ii,j-1
temp4 = ijTrans(I3);
Ix = sqrt(min((I - temp2)/h0).^2 + max((temp1-I)/h0).^2);
Iy = sqrt(min((I - temp4)/h0).^2 + max((temp3-I)/h0).^2);
detI = sqrt(Ix.^2 + Iy.^2);
%计算Ii+1j+1
temp13 = ijTrans(temp12);
%计算Ii-1j-1
temp24 = ijTrans(temp23);
%计算Ii+1j-1
temp14 = ijTrans(temp13);
%计算Ii-1j+1
temp23 = ijTrans(temp22);
Ix = (temp1 - temp2)/(2*h);
Iy = (temp3 - temp4)/(2*h);
Ixx = (temp1 + temp2 - 2*I)/(h*h);
Iyy = (temp3 + temp4 - 2*I)/(h*h);
Ixy = (temp13 + temp24 - temp14 - temp23)/(4*h*h);
Gxx = Kdet*Ixx;
Gxy = Kdet*Ixy;
Gyy = Kdet*Iyy;
Kp = 3*Kdet;
J11 = Kp*Ix.*Ix;
J12 = Kp*Ix.*Iy;
J21 = Kp*Ix.*Iy;
J22 = Kp*Iy.*Iy;
w1 = 2*J12./sqrt( 4*J12.^2 + (J22 - J11 + sqrt((J11-J22).^2 + 4*J12.^2)).^2 + eps);
w2 = (J22 - J11 + sqrt((J11-J22).^2+4*J12.^2))./sqrt(4*J12.^2 + (J22 - J11 + sqrt((J11-J22).^2 + 4*J12.^2)).^2 + eps);
Gww = w1.^2.*Gxx + 2*w1.*w2.*Gxy + w2.^2.*Gyy;
Inew = I - dett*sign(Gww).*detI;
if min(min(Inew))<=0
break;
end
I = Inew;
end
outIm = Inew ;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1375 2011-06-21 14:44 冲击滤波器\CoherenceESF.m
文件 2258 2011-06-21 14:41 冲击滤波器\GilboaSZ.asv
文件 2258 2011-06-21 14:44 冲击滤波器\GilboaSZ.m
文件 649 2011-03-01 09:27 冲击滤波器\ijTrans.m
目录 0 2012-08-28 20:25 冲击滤波器
----------- --------- ---------- ----- ----
6540 5
- 上一篇:MATLAB模式识别与智能计算代码
- 下一篇:实时提升小波,滤波
评论
共有 条评论