Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2016 21:41:35

stanislav_labs
Зарегистрирован: 2016-11-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Прошу помощи ! Работа с массивом Numpy

Всем добра ! Требуется из numpy массива array(640,480,3) тобишь x,y, color - выпилить элементы где color =255,255,255 сортировка в цикле отпадает , треба встроенные операции numpy Заранее благодарен!!!

Критична скорость операции..из мыслей - разделить массив на слои и отдать каждому ядру свой процесс на обработку.

Пробовал прикрутить numpy.nonzero , но не могу понять как это сделать применительно к одному элементу многомерного массива..

Всем спасибо !

Офлайн

#2 Ноя. 4, 2016 02:09:02

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Прошу помощи ! Работа с массивом Numpy

 import numpy as np
x = np.random.randint(240,256, 640*480*3).reshape(640,480,3) # test data
xind = reduce(lambda x,y: x & y, [x[:,:,k]==255 for k in range(3)])
print x[xind]

Конечно, можно и проще:

 xind = (x[:,:,0] == 255) & (x[:,:,1] == 255) & (x[:,:,2] == 255)

Отредактировано scidam (Ноя. 4, 2016 04:31:08)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version