python - 连接未知数量的掩码
问题描述
我有一个形状的布尔值数组(height, width, num_of_instances)
(例如(2448, 2048, 233)
)。我想返回一个 shape 数组,(height, width, 1)
如果同一位置的 233 个掩码中的任何一个值为 True,则每个值为 True。我并不总是知道实例的数量以及高度和宽度。目前我正在迭代每个像素:
for j in masks.shape[0]:
for i in masks.shape[1]:
if any(masks[j, i, :):
resulting_mask[j, i] = True
正如人们所期望的那样,这非常慢。那么这样做的快速和pythonic方式是什么?
解决方案
你试过这个吗?
resulting_mask = np.any(masks,axis=2)[:,:,None]
推荐阅读
- c# - Asp.Net Core:如何使浏览器在发送之前显示文件正在下载
- python - Heroku:应用程序与 buildpack 不兼容:
- android - 保存文件显示 Permission Denied 虽然已授予权限
- javascript - 如何在滚动时修复导航栏中的按钮
- swift - Xcode Swift 语言版本,未指定和版本之间的不同?
- python-3.x - 阿里巴巴 odps 连接中 writer.write(xlist) 时出现 ReadTimeOut 错误。有什么建议吗?
- php - 自定义 BuddyPress 注册表单模板,而不仅仅是 registar.php
- python - 窗口不同区域的 Tkinter 键绑定
- css - 无法从 EJS 中的 CSS 加载本地图像
- php - wordpress中的文件写入问题