Gaussian blur is lowpass filter which means it pass the low frequency components and stop the high frequency component but the point I am not getting is that if it is lowpass filter then how it is possible to prevent the edges which is nothing but the "HIGH FREQUENCY COMPONENT"?
I'll try to answer your question. If you have more details or even an image you are trying to enhance please upload it.
You are right that Gaussian filter are low pass and edges are essentially have high frequency but not only.
- If the Gaussian filter has infinite bandwidth, than essentially the filter will average the image and you will get a constant that is the mean of the image ( so no more edges will exist)
- Any case in the middle, for example if you have an edge in the image that can look like RECT function, so it's Fourier transform will be SINC (which has low and high frequencies together). Low pass filter will kill the high frequency but not all of the signal. Amount of signal that will be left also depends on the variance of the Gaussian filter.
If you do want to preserve the edges and remove noise there are a lot of methods that support this (with different amount of success)
- Bilateral filter
- energy minimization methods (ROF, anisotropic diffusion)
- Non local methods (BM3D)
Gaussian Blur is Spatially Invariant Linear Filter.
Hence it can be analyzed in the Frequency Domain which in fact shows its Low Pass properties.
Namely it attenuates High Frequency Energy.
In Image, Edges, which are abrupt change from one color to other, requires high frequencies in order to be local.
Gaussian Blur attenuates and smear it.
As written above since it is Spatially Invariant, it behaves the same on DC zone or Edge.
Now, there are families of "Edge Aware Filters" which are adaptive to the neighborhood they operate at:
- Bilateral Filter.
- Non Local Means Filter.
- Median Filter.
- Guided Filter.
All of those react to the properties of the pixels they operate at hence can not be defined in Linear Convolution (Spatially Invariant).