How to replace an element with average of surrounding elements excluding that particular element?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Shaunak Chatterjee
el 28 de Mayo de 2022
Comentada: Shaunak Chatterjee
el 28 de Mayo de 2022
This is similar to
A=[1 2 3; 4 5 6; 7 8 9];
conv2(A, ones(3), 'same') ./ conv2(ones(size(A)), ones(3), 'same');
ans =
3.0000 3.5000 4.0000
4.5000 5.0000 5.5000
6.0000 6.5000 7.0000
But this includes the central elements also. I want to exclude those elements and replace the elements by average of surrounding elements only. e.g. 1 should be replaced by 3.67, not 3.
0 comentarios
Respuesta aceptada
Walter Roberson
el 28 de Mayo de 2022
If not for boundary conditions, you could use
[1 1 1; 1 0 1; 1 1 1]/8
For boundary conditions, consider what happens if you conv2(ones(size(A)), ones(3),'same')
1 comentario
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!