python – 根据条件在Numpy数组中选择随机坐标
发布时间:2020-12-20 11:54:14 所属栏目:Python 来源:网络整理
导读:我使用了convolution2d来生成关于局部模式条件的一些统计数据.为了完整,我正在使用图像,值为0.5是我的’灰色屏幕’,我不能在此之前使用蒙版(依赖于其他一些包).我想在我的图像中添加新对象,但它应该至少重叠75%的非灰色屏幕.让我们假设新对象是正方形,我将
我使用了convolution2d来生成关于局部模式条件的一些统计数据.为了完整,我正在使用图像,值为0.5是我的’灰色屏幕’,我不能在此之前使用蒙版(依赖于其他一些包).我想在我的图像中添加新对象,但它应该至少重叠75%的非灰色屏幕.让我们假设新对象是正方形,我将图像掩盖在灰色屏幕上与其余部分相比,使用填充1s的n矩阵进行2-d卷积,这样我就可以得到灰度像素数的总和.补丁.这一切都有效,所以我有一个矩阵,有合适的位置放置我的新对象.如何从该矩阵中有效地选择一个随机的?
这是一个带有5×5图像和2×2卷积矩阵的小例子,我想在我的最后一个矩阵中有一个随机坐标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 如何有效地获得1s的均匀分布坐标? 解决方法
np.where和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]] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |