我写了一个更新2D直方图的函数,它没有我希望的那么快,
有没有办法让numpy提高这段代码的效率:
def histadd(histogram, update):
for i in range(len(update)):
for j in range(len(update[0])):
histogram[i][j][update[i][j]]+=1
return histogram
其中histogram是一个MxNx256数组,update是一个MxN整数数组,范围从0到255(包括0和255)。
答案 0 :(得分:0)
我认为没有更快的方法可以做到这一点。 可以写得更短,但速度比你的版本慢:
def histadd(histogram, update):
for a,b in np.ndindex(update.shape):
histogram[a,b,update[a,b]]+=1
return histogram