How to replace an element with average of surrounding elements excluding that particular element?
3 次查看(过去 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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!