gpt4 book ai didi

python - 根据条件在 Numpy 数组中选择随机坐标

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:41 25 4
gpt4 key购买 nike

我使用 convolution2d 生成了一些关于局部模式条件的统计数据。完整地说,我正在处理图像,值 0.5 是我的“灰屏”,不幸的是我不能在此之前使用蒙版(依赖于其他一些包)。我想在我的图像中添加新对象,但它应该与非灰屏至少重叠 75%。假设新对象是正方形,我将灰屏上的图像与其余图像进行屏蔽,用一个 n x n 矩阵填充 1 进行二维卷积,这样我就可以得到其中灰度像素数的总和修补。这一切都有效,所以我有一个矩阵,其中有合适的地方来放置我的新对象。我如何有效地从此矩阵中随机选择一个?

这是一个带有 5x5 图像和 2x2 卷积矩阵的小示例,我希望我的最后一个矩阵中的随机坐标为 1(因为该补丁中最多有 1 0.5)

图片:

1    0.5  0.5  0    1
0.5 0.5 0 1 1
0.5 0.5 1 1 0.5
0.5 1 0 0 1
1 1 0 0 1

卷积矩阵:

1    1 
1 1

复杂的图像:

3    3    1    0
4 2 0 1
3 1 0 1
1 0 0 0

以 <= 1 为条件:

0    0    1    1
0 0 1 1
0 1 1 1
1 1 1 1

如何高效地获取 1 的均匀分布坐标?

最佳答案

np.wherenp.random.randint 应该可以解决这个问题:

#we grab the indexes of the ones
x,y = np.where(convoluted_image <=1)
#we chose one index randomly
i = np.random.randint(len(x))
random_pos = [x[i],y[i]]

关于python - 根据条件在 Numpy 数组中选择随机坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com