当 cdf 表示从 cv2.calcHist 构建的累积分布函数时,Cdf / Cdf[-1] 会做什么?
What does Cdf / Cdf[-1] do when cdf represents a Cumulative distribution function built from a cv2.calcHist?
我正在尝试破译由自由职业者完成的一段代码,但我一直卡在这一部分。我不能详细介绍这段代码,但我可以说他正在 def 运行(self) 中创建一个新变量。我们将其命名为"Result"。然后取一个 np.cumsum(直方图) 我们称它为 "HistCumSum" 并执行以下操作 --> Result = HistCumSum / HistCumSum[-1]
我搜索了 google 大约一个星期,并尝试打印出数值/手算,但没有任何意义
HistCumSum = np.cumsum(Hist)
Result = HistCumSum / HistCumSum[-1]
我无法解释结果的用途
HistCumSum[-1]
是数组 HistCumSum
中的最终值。因为 HistCumSum
是一个累积总和,我们可以将 Result = HistCumSum / HistCumSum[-1]
视为 归一化 从累积 频率 到累积 分布函数.
看看 Hist
、HistCumSum
和 Result
的样子可能有助于理清思路:
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
x = np.linspace(-2, 2, num=100)
# Evaluate pdf in lieu of actual data
Hist = norm.pdf(x)
# Compute cumulative sum
HistCumSum = np.cumsum(Hist)
# Normalise cumulative sum to produce cdf
Result = HistCumSum / HistCumSum[-1]
fig, ax = plt.subplots(1, 3, figsize=[7, 3])
ax[0].plot(x, Hist)
ax[1].plot(x, HistCumSum)
ax[2].plot(x, Result)
ax[0].set_title('Hist')
ax[1].set_title('HistCumSum')
ax[2].set_title('Results (CDF)')
fig.tight_layout()
我正在尝试破译由自由职业者完成的一段代码,但我一直卡在这一部分。我不能详细介绍这段代码,但我可以说他正在 def 运行(self) 中创建一个新变量。我们将其命名为"Result"。然后取一个 np.cumsum(直方图) 我们称它为 "HistCumSum" 并执行以下操作 --> Result = HistCumSum / HistCumSum[-1]
我搜索了 google 大约一个星期,并尝试打印出数值/手算,但没有任何意义
HistCumSum = np.cumsum(Hist)
Result = HistCumSum / HistCumSum[-1]
我无法解释结果的用途
HistCumSum[-1]
是数组 HistCumSum
中的最终值。因为 HistCumSum
是一个累积总和,我们可以将 Result = HistCumSum / HistCumSum[-1]
视为 归一化 从累积 频率 到累积 分布函数.
看看 Hist
、HistCumSum
和 Result
的样子可能有助于理清思路:
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
x = np.linspace(-2, 2, num=100)
# Evaluate pdf in lieu of actual data
Hist = norm.pdf(x)
# Compute cumulative sum
HistCumSum = np.cumsum(Hist)
# Normalise cumulative sum to produce cdf
Result = HistCumSum / HistCumSum[-1]
fig, ax = plt.subplots(1, 3, figsize=[7, 3])
ax[0].plot(x, Hist)
ax[1].plot(x, HistCumSum)
ax[2].plot(x, Result)
ax[0].set_title('Hist')
ax[1].set_title('HistCumSum')
ax[2].set_title('Results (CDF)')
fig.tight_layout()