python - 重建 numpy 数组,需要更快的方法

标签 python arrays numpy

我有图像 numpy 数组 (640,480,3),其中 X,Y 是坐标,(255 255 255) 是点的颜色掩码

我尝试获取新的二维数组(x,y),其中X和Y是颜色>零时点的坐标..

我尝试这个代码 它可以工作,但需要太多处理器时间

enter code here
for x in range(edges.shape[0]):
     for y in range(edges.shape[1]):
          if edges[[x],[y],[0]]!=0:
             new.append([x,y])

最佳答案

您可以对最后一个轴的第一个元素进行切片,将其与 0 进行比较,然后使用 np.argwhere 获取这些索引,这将是 x (N,2) 形状数组中的 y 坐标。

因此,实现将很简单 -

new = np.argwhere( edges[...,0]!=0 )

关于python - 重建 numpy 数组,需要更快的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40412288/

相关文章:

python - 使用 Python 的 Flask 和 jsonpickle 获取 JSON 中不需要的转义字符

python : string contains NOT string in

python - 如何在 tensorflow 中实现图像(二维数组)序列滑动窗口?

c++ - 交换数组中的 2 个项目,但不通过引用传递它

matlab - 通过交换行和列来重新排列稀疏数组

python - xarray 中的 bool 索引

python - 大小为 2GB 的数组在减法和除法运算时会引发内存错误

python - 浏览所有 Bonjour 服务

C 语言 -> 将段落中的单词分开

javascript - 过滤 js 中长度小于 < 50 个字符的内容