微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenCV中图像掩码的平均值

如何解决OpenCV中图像掩码的平均值

目前我有可变数量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

解决方法

您正在取所有轴上遮罩的整体平均值,这将其减少为单个缩放器值(对象类型 int64)。您想对 axis=0 取平均值,因为您将它们包含在一个列表中,以将掩码的高度宽度保留为单个平均掩码。

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

masks = [mask1,mask2,mask3]

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

mask.shape
(296,640)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。