2 yza751 yza751 于 2015.06.04 14:14 提问

初学MATLAB,求各位老师解释下这段代码,及参数的含义

function pushbutton3_Callback(hObject, eventdata, handles)
global tu
d=10;
n=2;
im=double(tu);

[r,c,td]=size(im);
fr=im(:,:,1);
fg=im(:,:,2);
fb=im(:,:,3);
aftr=homofil(fr,d,r,c,n);
aftg=homofil(fg,d,r,c,n);
aftb=homofil(fb,d,r,c,n);
zztx=cat(3,aftr,aftg,aftb);
axes(handles.axes3);
imshow(zztx);
title('同态滤波增强效果图');

function im_eu=homofil(im,d,r,c,n)
%巴特沃思高通滤波器(BHPF)
A=zeros(r,c);
for i=1:r
for j=1:c
A(i,j)=(((i-r/2).^2+(j-c/2).^2)).^(.5);
H(i,j)=1/(1+((d/A(i,j))^(2*n)));
end
end
%设置参数高频和低频值
alphaL=0.0999;
alphaH=2.555;
H=((alphaH-alphaL).*H)+alphaL;
H=1-H;
im_l=log2(1+im);
im_f=fft2(im_l);
im_nf=H.*im_f;
im_n=abs(ifft2(im_nf));
im_e=exp(im_n);
immin=min(min(im_e));
immax=max(max(im_e));
im_eu=uint8((im_e-immin)*255/(immax-immin));

1个回答

LogicTeamLeader
LogicTeamLeader   2015.06.04 16:08

自己先好好学习一下m语言吧。

Csdn user default icon
上传中...
上传图片
插入图片