سلام. این یه هومو مورفیکه که قبلا و به صورت خیلی ابتداعی نوشتم؛ منتها باید یه مقدار کلیت همومورفیکو بدونین:
%%%%------------homomorphic---------------
function [y] = homomorphic(FL,FH,c,D0)
clear all
clc
%%%------ get picture & Ln & fft -------
A = imread('11.jpg');
B = rgb2gray(A);
[M,N]=size(B);
Y1 = log(double(B)+1);
Y = fft2(Y1);
%%% ------ get data: gama L, gama H, c, D0 ------
FL=input('enter gama L :');
FH=input('enter gama H :');
c=input('enter c az sharp coeff : ');
D0=input('enter D0 : ');
disp('wait...')
for u=1:M
for v=1:N
D(u,v)=((u-M/2).^2+(v-N/2).^2).^(0.5);
H(u,v)=(FH-FL).*(1-exp(-c.*((D(u,v).^2)/(D0^2))))+FL; %%%make filter
end
end
for u=1:M
for v=1:N
R(u,v)=H(u,v).*Y(u,v); %%%filtering
end
end
O1=ifft2(R); %%%invers fft
O2=real(O1);
O = exp(O2); %%%output
imshow(O,[]);