Как отфильтровать массив NumPy - PullRequest
0 голосов
/ 18 октября 2019

Я хотел бы выполнить фильтрацию матрицы меток (без цикла 'for') в соответствии с условием, заданным в матрице зерен, а именно: для каждого элемента в зернах назовем его i, если i [1] <=2, затем сделайте все значения в метках, которые равны i [0], нулю. После этого только два синих сегмента должны появиться на последнем рисунке. Спасибо за вашу помощь, ребята! </p>

import numpy as np
import matplotlib.pyplot as plt

grains = np.array([[1,3], [2,5], [6,2]] )

labels=np.array([[1,1,0,0,0],[1,0,0,2,0],[0,0,2,2,2],[0,0,0,2,0],[6,6,0,0,0]])

im = np.array([[223, 222, 225, 224, 227],[222, 224, 218, 220, 221],[216, 221, 
219, 223, 225],[228, 226, 231, 224, 228],[226, 228, 225, 218, 225]])

image=np.stack((im, im, im), axis=2)       # greyscale sample image

color = [0, 0, 255]                        # rgb blue color

image[labels>=1] = color

plt.imshow(image)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...