Pythonic способ условно заменить значения в массиве numpy на основе значений соседаPython

Программы на Python
Ответить
Anonymous
 Pythonic способ условно заменить значения в массиве numpy на основе значений соседа

Сообщение Anonymous »

Я обрабатываю черно-белое изображение в оттенках серого (8 бит) в Python с помощью OpenCV.
Изображение (2D-массив numpy с формой (100,200)) содержит только пиксели 2 цвета — черный (0) и белый (255).
Вот мой код на Python:

Код: Выделить всё

img = cv2.imread(filename) # 2 dims, pixel type: np.uint8 (and only 2 possible values: 0 or 255)

rows,cols = img.shape # always (100,200)

for i in range(1,rows-1):
for j in range(1,cols-1):
if ((img[i,j-1] == 255 and img[i,j+1] == 255) or (img[i-1,j] == 255 and img[i+1,j] == 255)):
img[i,j] = 255
Этот код работает слишком медленно. Как переписать его на Python, чтобы он работал быстрее?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -neighbour
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»