首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numpy高效方法在点周围创建网格

numpy高效方法在点周围创建网格
EN

Stack Overflow用户
提问于 2020-10-16 03:55:28
回答 1查看 40关注 0票数 2

我尝试将黑盒添加到一个形状为(400040003)的numpy RGB图像帧数组中。黑盒的中心x,y点为第二数值阵列形状(100,2)。我的问题是,我不知道在numpy中有一种有效的方法来创建第三个数组,所有我想要将其涂成黑色的点,对于第二个数组中的每个框中心点,都是x,y +/- 2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-16 04:07:06

其思想是通过偏移点的坐标来创建所有坐标。让我们试着广播:

代码语言:javascript
复制
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

在一个小样本上尝试上面的方法:

代码语言:javascript
复制
size = 100
frame = np.ones((size,size,3)).astype("uint8")*255 
np.random.seed(42)
points = np.random.randint(0,size,(100,2))

提供:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64378818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档