clear all load OutofFocus.mat figure(1) imagesc(p,[0 180]) colormap(gray) set(gca,'dataaspectratio',[1 1 1]); title('Out of Focus Image'); pause pf = fftshift(fft2(p)); N = size(p,2); M = size(p,1); i = ones([M 1])*[1:N]; j = [1:M]'*ones([1 N]); lp = zeros(size(p)); lp(1,1) = 4; lp(1,2) = -1; lp(2,1) = -1; lp(1,end) = -1; lp(end,1) = 1; lpf = fftshift(fft2(lp)); % sigma = 20-40, 25 % k = 0.01 - 0.001, 0.01 for t = 1:100 sigma = input('Enter sigma (10-50):'); K = input('Enter K(0.0001-0.01):'); hf = exp(-((i-N/2).^2+(j-M/2).^2)/(2*sigma^2)); figure(2) imagesc(abs(hf)) colormap(gray) title('Estimated Degradation (Blurring) Function'); f = conj(hf).*pf./(hf.^2+K*lpf.^2); pr = real(ifft2(fftshift(f))); figure(3) imagesc(pr,[0 180]) set(gca,'dataaspectratio',[1 1 1]); title('Constrained Least Square Filtered Image'); colormap(gray) drawnow end