我目前正在比较Haralick纹理特征计算器的两个实现,一个用Python(Mahotas)实现,另一个用C++实现。目前正试图找出为什么一些功能返回相同的结果,而其他的不-其中一个是相关性。
谁能解释一下ux = np.dot(px, k)
在texture.py中是如何等同于边际概率矩阵的平均值的?
https://github.com/luispedro/mahotas
查看Mahotas如何计算ux
的相关代码是:
# cmat is the square co-ocurrence matrix
T = cmat.sum()
maxv = len(cmat)
k = np.arange(maxv)
p = cmat / float(T)
px = p.sum(0)
ux = np.dot(px, k)
1条答案
按热度按时间w9apscun1#
假设
px
是边际概率分布(其总和为1),则其一阶矩等于其一阶归一化矩。任何分布的一阶归一化矩对应于分布的均值(请参阅the Wikipedia page on moments了解更多信息)。np.dot(px, k)
与np.sum(px * k)
相同,np.sum(px * k)
是一阶矩方程的字面翻译。