numpy OpenCV中图像蒙版的平均值

xxhby3vn  于 2023-01-09  发布在  其他
关注(0)|答案(1)|浏览(192)

目前,我有一个可变数量的np.ndarray表示相同大小的图像蒙版。数组中的值要么是255,要么是0。现在,我希望能够得到所有这些数组的平均值。我目前有以下代码:

mask = np.mean(masks).astype(int)
mask[mask > 169] = 255

masks是一个np.ndarray的列表,大小为(296, 640)。但是我得到了错误:

TypeError: 'numpy.int64' object does not support item assignment
lawou6xi

lawou6xi1#

您正在获取所有轴上遮罩的总体平均值,这将其减少为单个定标器值(对象类型int64)。您希望获取axis=0上的平均值,因为您将它们包含在列表中,以将遮罩的高度宽度保留为单个平均遮罩。

mask1 = np.random.randint(0,255,(296, 640))
mask2 = np.random.randint(0,255,(296, 640))
mask3 = np.random.randint(0,255,(296, 640))

masks = [mask1, mask2, mask3]

mask = np.mean(masks, axis=0).astype(int)
mask[mask > 169] = 255

mask.shape
(296, 640)

相关问题