Arrays 高效地将{coordinate+;value}的集合打印到(numpy数组)位图
假设我有一组像素值,例如Arrays 高效地将{coordinate+;value}的集合打印到(numpy数组)位图,arrays,numpy,vectorization,Arrays,Numpy,Vectorization,假设我有一组像素值,例如 >S[42] 6, 2, (0.1, 0, 0) ^这里第42个条目用于暗红色的像素位置(6,2) 如何有效地将S绘制到一个新的numpy位图数组bitmap=np.zeros((1024768,3)) 是否有一些矢量化的解决方案(而不是针对循环的) 我可以按列将S拆分为S\u x、S\u y和S\u RGB,如果这样有帮助的话。这就是您的操作方式,是的,拆分很有帮助,并使用下面相同的数据类型 bitmap = np.zeros((10, 10, 3)) s
>S[42]
6, 2, (0.1, 0, 0)
^这里第42个条目用于暗红色的像素位置(6,2)
如何有效地将S
绘制到一个新的numpy位图数组bitmap=np.zeros((1024768,3))
是否有一些矢量化的解决方案(而不是针对循环的)
我可以按列将S
拆分为S\u x
、S\u y
和S\u RGB
,如果这样有帮助的话。这就是您的操作方式,是的,拆分很有帮助,并使用下面相同的数据类型
bitmap = np.zeros((10, 10, 3))
s_x = (1,2,3) ## tuple
s_y = (0,1,2) ## tuple
pixal_val = np.array([[0,0,1],[1,0,0],[0,1,0]]) ## np
bitmap[s_y, s_x] = pixal_val
plt.imshow(bitmap)
输出:
编辑:
它确实可以使用numpy数组作为坐标,但请确保它们是int类型
bitmap = np.zeros((10, 10, 3))
s_x = np.array([a for a in range(10)], dtype=int)
s_y = np.array([a for a in range(10)], dtype=int)
np.random.shuffle(s_x)
np.random.shuffle(s_y)
pixel_val = np.random.rand(10,3)
bitmap[s_y, s_x] = pixel_val
plt.imshow(bitmap)
最终编辑:s_xans s_y我在上面纠正了错误的方向如此漂亮的答案。我现在在屏幕外遇到了麻烦。我在这里问: