Numpy OpenCV中图像遮罩的平均值
目前,我有一个数量可变的Numpy OpenCV中图像遮罩的平均值,numpy,opencv,mean,numpy-ndarray,Numpy,Opencv,Mean,Numpy Ndarray,目前,我有一个数量可变的np.ndarray,它们表示相同大小的图像掩码。数组中的值为255或0。现在我想得到所有这些数组的平均值。我目前拥有以下代码: mask = np.mean(masks).astype(int) mask[mask > 169] = 255 masks是大小为(296640)的np.ndarray列表。但我得到了一个错误: TypeError: 'numpy.int64' object does not support item assignment 取所有轴
np.ndarray
,它们表示相同大小的图像掩码。数组中的值为255或0。现在我想得到所有这些数组的平均值。我目前拥有以下代码:
mask = np.mean(masks).astype(int)
mask[mask > 169] = 255
masks
是大小为(296640)
的np.ndarray
列表。但我得到了一个错误:
TypeError: 'numpy.int64' object does not support item assignment
取所有轴上遮罩的总平均值,将其减少为单个缩放值(对象类型
int64
)。您希望取轴=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
我这样做了,我得到了不兼容的形状-事实上,看看这个:
mask.shape,masks[0]。shape=(2296)(296640)
,它不同于您上面所做的np.randint
原始masks的形状是什么<代码>蒙版。形状应该是(296640)我很困惑,你有2961D蒙版,每个蒙版的形状都是640??你能解释一下面具是什么吗?啊啊啊,真管用!
(296, 640)