Hello I need some help. I have to blur a grayscale image using a 5×5 blurring filter. Then I need to attempt to de-blur the result using inverse filtering with constrained division.The error that pops up is this:
Error using ./ Complex integer arithmetic is not supported. Error in test2 (line 12) fbw = fftshift(fft2(blur))./bw;
When I blur the image using a butterworth filter it works just fine yet when I blur using the average filter my code won't work. Below is my attempt:
clear I = imread('buffalo.png'); H = fspecial('average',[5 5]) ; blurred=imfilter(I,H); blur=im2uint8(mat2gray((blurred))); imshow(blur) d = 0.01; bw = blurred; bw(find(bw<d)) = 1; fbw = fftshift(fft2(blur))./bw; ba = abs(ifft2(fbw)); unb01 = im2uint8(mat2gray(ba));
Best Answer