我有一个由其2D坐标(x,y)定义的点列表。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
x = 10*np.random.randn(2000)+32
y = 10*np.random.randn(2000)+32
我正在寻找以下代码的快速Python实现,它通过用这些点填充2D数组来形成图像:
im = np.zeros((64, 64))
dx = np.arange(64)
dy = np.arange(64)
for i in range(len(x)):
xt, yt = x[i], y[i]
ind_x = np.argmin((abs(dx-xt)))
ind_y = np.argmin((abs(dy-yt)))
im[ind_x, ind_y] += 1
plt.imshow(im)
我正在寻找最快的实现:
- 案例1)大量积分
- 情况2)图像中的大量像素
谢谢!
2条答案
按热度按时间pbpqsu0x1#
基本上,您正在尝试创建x和y的2D直方图。
5vf7fwbs2#
你可以试试这个:
它给出: