我使用 volvo2d 生成一些有关局部模式条件的统计数据。为了完整起见,我正在处理图像,值 0.5 是我的“灰屏”,不幸的是,在此之前我无法使用蒙版(依赖于其他一些软件包)。我想向图像添加新对象,但它应该与非灰屏至少 75% 重叠。假设新对象是正方形的,我将灰度屏幕上的图像与其余图像进行比较,使用填充有 1 的 n × n 矩阵进行 2-d 卷积,这样我就可以获得该图像中灰度像素数的总和修补。这一切都有效,所以我有一个矩阵,其中有合适的位置来放置我的新对象。如何有效地从这个矩阵中随机选择一个?
这是一个带有 5x5 图像和 2x2 卷积矩阵的小示例,我想要在最后一个矩阵中使用 1 的随机坐标(因为该补丁中最多有 1 0.5)
Image:
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
条件为
0 0 1 1
0 0 1 1
0 1 1 1
1 1 1 1
如何有效地获得 1 的均匀分布坐标?
np.where
and np.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]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)