Speckle filtering (static)

So how do we go about undoing this effect? Clearly multiplying the brightness of each pixel by a (normally-distributed) random number between 0 and 1 isn’t exactly a reversible function. But we can use some intuitive methods to clarify the images. Since we want to undo the variability it causes we can start by simply applying a ‘blur’ effect to the image to smooth it out; replacing every pixel with the average value of all nearby pixels.

We can represent that notationally using a matrix:

\[ \frac{1}{9} \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1 & 0 \\ 0 & 1 & 1 & 1 & 0 \\ 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ \end{bmatrix} \]

indicating that the new value of the centre pixel is one times itself, plus one times each of the nearest eight pixels, all divided by 9 – a local average.

We can try implementing that (or any other simple filter) on a real SAR image below:






Try to construct filters which do the following:

  • Inverts the image brightness

  • Shifts the entire image two pixels to the right

  • Blurs the image

  • Blurs the image but gives more power to near pixels then far pixels

  • Highlights vertical edges

  • Highlights horizontal edges

  • Highlights both vertical and horizontal edges

  • I don’t know does something funky then explain why it does that

Hint We just want every pixel to be itself but negative
Hint We just want every pixel to be the one over on the right and not itself
Hint We want every nearby pixel to have an equal contribution
Hint We want every nearby pixel to have an unequal contribution
Hint We want to know when the pixel above is very different from the pixel below
Hint We want to know when the pixel to the left is very different from the pixel to the right
Hint We want to know when the centre pixel is very different from the pixels above, below, left, and right
Hint What do you expect me to type here this is on you