大部分重复的值
问题描述:
我知道如何检查matlab
中的8-neighbourhood
(即; nlfilter)。但是,我想将更重复的值赋予中心值。所以,说例如,我有在8附近以下值:大部分重复的值
2值= 56
3值= 64
1值= 70
1-值= 87
1值= 65
在这种情况下,我们将分配64
中心像素。
我们该怎么做?
谢谢。
答
M =模式(X)为向量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))
什么冲突,即两个值是最重复的? – Oleg 2013-04-27 01:55:10