Prewitt filters are popular filters in image processing for edge detection http://en.wikipedia.org/wiki/Prewitt_operator
Can anyone give a proof on why Perwitt and other edge detecting filters are high pass?
|
Prewitt filters are popular filters in image processing for edge detection http://en.wikipedia.org/wiki/Prewitt_operator Can anyone give a proof on why Perwitt and other edge detecting filters are high pass? |
|||||||||||
|
|
That depends on the definition of high-pass filter. If you define a high-pass filter as a filter that has high response in the high frequencies in frequency domain, then the easiest way is to take a look at the magnitude of Fourier transform, (by definition). As a side note, on the question why it makes sense to define high-pass filter in this way, the answer is that because a convolution can be thought as multiplication in Frequency domain. That is, if you have a signal $S$ and filter kernel $f$, $F[S**f] = F[S] * F[f] $ Or, put in another way: $ S**f = F^{-1} [ F[S] * F[f] ] $ where convolution is denoted by $**$ Anyhow, the following Matlab code:
results in the following image:
Now the interpretation - The part in the middle is the low frequencies. It has low response. There are 2 high responses, both with zero X frequency and some high Y frequency. That is not surprising since we took a filter that detects edges in Y direction. There is another, more intuitive way, that does not involve Fourier transform. A response to a linear filter is strong when the underlying signal "looks" like the filter itself. Therefore, there should be a strong response to edges. |
||||
|
|
|
A simple explanation: How would you try to implement a differentiation in circuit design? The prewitt operator is simply a digitalization of discrete differentiation. If it was implemented in a circuital form it would attentuate low frequency signals and only allow high frequency signals to pass through. Which is precisely the definition of a high-pass filter. |
||||