8-neighbourhood
チェックインする方法を知っていますmatlab
(つまり、nlfilter)。でも、もっと繰り返される値を中央の値に割り当てたいです。たとえば、8 近傍に次の値があるとします。
2 値 = 56
3 値 = 64
1値 = 70
1 値 = 87
1値 = 65
この場合64
、中央のピクセルに割り当てます。
どうすればそれができますか?
ありがとう。
8-neighbourhood
チェックインする方法を知っていますmatlab
(つまり、nlfilter)。でも、もっと繰り返される値を中央の値に割り当てたいです。たとえば、8 近傍に次の値があるとします。
2 値 = 56
3 値 = 64
1値 = 70
1 値 = 87
1値 = 65
この場合64
、中央のピクセルに割り当てます。
どうすればそれができますか?
ありがとう。
ベクトル X の M=mode(X) は、M をサンプル モード、または X で最も頻繁に発生する値として計算します。
データの例:
x = [56 56 64 64 64 70 87 65];
mode(x)
ans =
64
しかし、これは最も頻繁に発生する値しか得られません。
配列内の一意の各アイテムの数が必要な場合は、次のようにします。
unqx = unique(x);
unqx =
56 64 65 70 87
valueCount = histc(x, unqx)
ans =
2 3 1 1 1
次に、これを並べ替えて、最初のN
値を取ることができます
valueCount = sort(valueCount, 'descend');
% Use unqx(valueCount(1:N))