例如,我的图像矩阵看起来像这样:
1 2 3
1 5 6
1 5 3
假设我的强度从1到6,所以我需要产生类似数组的东西:
1 : 3
2 : 1
3 : 2
4 : 0
5 : 2
6 : 1
我尝试使用matlab的hist函数,但它产生的东西看起来真的很让我感到疑惑。
anybosy可以帮助我吗?
非常感谢
答案 0 :(得分:1)
这里的关键是使用冒号运算符线性化图像矩阵,就像在hist(a(:))
中一样。当hist(a)
是矩阵时调用a
将计算每列的直方图。
答案 1 :(得分:0)
我怀疑您可能没有为hist
指定正确的直方图箱(默认情况下,它会创建10个等间距的箱)。如果您对简单的直方图计数感兴趣,请考虑使用histc
:
vals = 1:max(A(:));
count = histc(A(:), vals);
其中A
是您的图像矩阵。 vals
是所需输出数组中的第一列,count
是第二列。