如何在Python中计算图像的经验累积分布(ecdf)?

时间:2020-08-11 02:35:14

标签: python distribution ecdf

我正在尝试计算Python中图像的经验累积分布。最佳做法是什么?而且我还需要将结果存储在数组中,以便可以在分析的后续步骤中使用它。

我正在使用此功能,但不确定这样做是否正确:

`def ecdf(data):
    x = np.sort(data.flatten())
    n = x.size
    y = np.arange(1, n+1) / n
    return (x,y)`

1 个答案:

答案 0 :(得分:0)

这是我现在正在执行的操作,并且可以正常工作(对于灰度图像):

  1. 对于高斯正态分布:

`

def Ghist(image):
    '''compute eCDF of an image'''
    data_flatten = image.flatten()
    data_sort = np.sort(data_flatten)
    values, bins = np.histogram(data_sort, normed=True)

    return (bins, values)

`

  1. 对于累积分布:

`

def ecdf(image):
    '''compute eCDF of an image'''
    data_flatten = image.flatten()
    data_sort = np.sort(data_flatten)
    values, bins = np.histogram(data_sort, normed=True)
    data_cum = np.cumsum(values)

    return (bins, data_cum)

`

相关问题