Apply a Local Averaging Mask
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Diego Espinosa
il 26 Feb 2018
Modificato: Image Analyst
il 14 Ago 2019
How can you apply a 3x3 local averaging mask to enhance the sharpness in an image. How can you set the mask? I'd like to get a better understanding in how this method of filtering an image works and how to compute the algorithm.
0 Commenti
Risposta accettata
Walter Roberson
il 26 Feb 2018
Local averaging:
conv(double(YourImage), ones(3,3)/9, 'same')
ones(3,3)/9 is not usually the mask used for sharpening. You tend to sharpen horizontally and vertically separately, using a mask such as [0, 1, 0; -1 0 -1; 0 1 0]
6 Commenti
Thulitha Theekshana
il 14 Ago 2019
Remember to convert the output of conv2 to uint range. ( maybe using a function such as mat2gray ) before imshow. Otherwise the image wouldn't be displayed.
Image Analyst
il 14 Ago 2019
Or you can use bracket bracket and leave it as floating point:
filteredImage = conv(double(YourImage), ones(3,3)/9, 'same')
imshow(filteredImage, []);
Più risposte (1)
Image Analyst
il 27 Feb 2018
Modificato: Image Analyst
il 14 Ago 2019
You can use imfilter() instead of convolution, but it's doing pretty much a similar thing (multiplying a sliding window by the image under the window). To sharpen edges you'd use a kernel that's 17 in the middle and -1 around the sides:
kernel = -1 * ones(3);
kernel(3,3) = 17;
output = conv2(double(intputImage), kernel, 'same');
imshow(output, []);
See my attached manual convolution, though I don't recommend it. It's mainly for students who are not allowed to use built-in functions.
The theory for the -1, 17 thing is that it's the average gradient around the 8 directions (which gives a flat, harsh, Laplacian edge detection image), plus 9 in the center to add back in the original image so that the result looks like a edge enhanced image rather than a pure edge detection image. If you need more explanation on the theory, ask.
0 Commenti
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!