How to replace an element with average of surrounding elements excluding that particular element?
3 ビュー (過去 30 日間)
古いコメントを表示
Shaunak Chatterjee
2022 年 5 月 28 日
コメント済み: Shaunak Chatterjee
2022 年 5 月 28 日
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 で Get Started with MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!