How to replace an element with average of surrounding elements excluding that particular element?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2022-5-28
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')
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!