Taper discontinuities along image edges


J = edgetaper(I,PSF)


J = edgetaper(I,PSF) blurs the edges of the input image I using the point spread function PSF. The size of the PSF cannot exceed half of the image size in any dimension.

The output image J is the weighted sum of the original image I and its blurred version. The weighting array, determined by the autocorrelation function of PSF, makes J equal to I in its central region, and equal to the blurred version of I near the edges.

The edgetaper function reduces the ringing effect in image deblurring methods that use the discrete Fourier transform, such as deconvwnr, deconvreg, and deconvlucy.

Class Support

I and PSF can be of class uint8, uint16, int16, single, or double. J is of the same class as I.


collapse all

Blur the Edges of an Image

original = imread('cameraman.tif');
PSF = fspecial('gaussian',60,10);
edgesTapered = edgetaper(original,PSF);
figure, imshow(original,[]);
figure, imshow(edgesTapered,[]);

Was this topic helpful?