将向量的numpy数组映射到字典

2024-05-04 09:44:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图映射一个颜色直方图,其中每个像素也是另一个(浮点)属性alpha,来自一个相似大小的数组。 我想最终得到一个(color)->;(count,sum)字典,其中count实际上是该颜色的直方图计数,sum是对应于某种颜色的alpha值的总和。在

下面是一个简单的python代码,它实现了我想要的(c和d的长度相同,而且非常长):

for i in range(len(c)):
        if str(c[i]) in dict:
            dict[str(c[i])][0] += 1
            dict[str(c[i])][1] += alpha[i]
        else:
            dict[str(c[i])] = [0, alpha[i]]

但这自然需要很多时间。有什么新点子吗?在

谢谢


Tags: ingtalpha字典属性颜色count像素
1条回答
网友
1楼 · 发布于 2024-05-04 09:44:50

好吧,所以我最终找到了一个非常好的解决方案,只使用numpy: https://stackoverflow.com/a/8732260/1752591

它是根据另一个指数向量求和向量的函数。 所以我要做的就是给每种颜色一个id,然后编字典:

d = alpha.reshape((-1))
id = color_code_image(colormap)

v, g = sum_by_group(d, id)
count, g = sum_by_group(np.ones(len(d)), id)
avg = v/count

return dict(np.array([g, avg]).T)

相关问题 更多 >