Opencv numpy 1-D直方图之间的土方机距离
我尝试计算两个一维numpy直方图之间的土方机距离,如:Opencv numpy 1-D直方图之间的土方机距离,opencv,numpy,Opencv,Numpy,我尝试计算两个一维numpy直方图之间的土方机距离,如: (array([ 0.53586639, 0.71448852, 1.22534781, 1.68262046, 1.20391316]), array([ 0. , 0.18648936, 0.37297871, 0.55946807, 0.74595742, 0.93244678]), <a list of 5 Patch objects>) (数组([0.53586639,0.7
(array([ 0.53586639, 0.71448852, 1.22534781, 1.68262046, 1.20391316]), array([ 0. , 0.18648936, 0.37297871, 0.55946807, 0.74595742,
0.93244678]), <a list of 5 Patch objects>)
(数组([0.53586639,0.71448852,1.22534781,1.68262046,1.20391316]),数组([0,0.18648936,0.37297871,0.55946807,0.74595742),
0.93244678]), )
及
(数组([0.05986936,0.41133267,1.0449142,2.43569242,2.50891394]),数组([0.17373296,0.32851441,0.48329586,0.63807731,0.79285876),
0.9476402 ]), )
我想对一维数组,而不是图像。我想要一个简单的解决方案。一个简单的python代码:
import numpy as np
def wasserstein_distance(A,B):
n = len(A)
dist = np.zeros(n)
for x in range(n-1):
dist[x+1] = A[x]-B[x]+dist[x]
return np.sum(abs(dist))
不完全可能重复:我的问题更简单。我只想计算EMD,而在另一个问题中,他/她问了一个具体的方法:“如何将numpy数组传输到CVhistogram,如何将CVhistogram传输到函数参数签名?”
import numpy as np
def wasserstein_distance(A,B):
n = len(A)
dist = np.zeros(n)
for x in range(n-1):
dist[x+1] = A[x]-B[x]+dist[x]
return np.sum(abs(dist))