2016-11-03 2 views
2

У меня есть изображение Numpy массив (640,480,3), где X, Y является координаты и (255 255 255) является маска цвета для точкивосстановить Numpy массив, нужен более быстрый метод

Я пытаюсь получить новый 2d массив (х, у), где 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]) 

ответ

2

Вы можете нарезать первый элемент последней оси, сравните его с 0, а затем используйте np.argwhere, чтобы получить те индексы, которые будут x, y координатами в массиве (N,2).

Таким образом, реализация будет просто -

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