我尝试将黑盒添加到一个形状为(400040003)的numpy RGB图像帧数组中。黑盒的中心x,y点为第二数值阵列形状(100,2)。我的问题是,我不知道在numpy中有一种有效的方法来创建第三个数组,所有我想要将其涂成黑色的点,对于第二个数组中的每个框中心点,都是x,y +/- 2。
发布于 2020-10-16 04:07:06
其思想是通过偏移点的坐标来创建所有坐标。让我们试着广播:
size = 4000
from itertools import product
nbhds = np.array([list(product(np.arange(-2,3), np.arange(-2,3)))])
s = (nbhds + points[:,None] ).reshape(-1,2).clip(0,size-1)
frame[s[:,0], s[:,1]] = 0在一个小样本上尝试上面的方法:
size = 100
frame = np.ones((size,size,3)).astype("uint8")*255
np.random.seed(42)
points = np.random.randint(0,size,(100,2))提供:

https://stackoverflow.com/questions/64378818
复制相似问题