Изображение к списку координат точек, удовлетворяющих определенным критериям - PullRequest
0 голосов
/ 05 мая 2018

Допустим, у меня есть изображение OpenCV в виде массива с нулевыми значениями. Я хочу собрать все (x, y) координаты точек точек, которые имеют больше нуля синего компонента цвета. Наивный путь был бы примерно таким:

n_rows, n_cols, _ = image.shape
points = []
for row in range(n_rows):
    for col in range(n_cols):
        if image[row, col, 0] > 0:
            points.append((row, col))

Есть ли более умный и эффективный способ сделать то же самое, используя возможности numpy или OpenCV?

1 Ответ

0 голосов
/ 05 мая 2018

Это поможет:

np.argwhere(image[:,:,0] > 0)

Для данного image, имеющего три цветовых канала (в этом BGR), 0 в image[:,:,0] обозначает первый канал (синий)

Сам оператор возвращает массив координат, где значения пикселей синего канала больше 0

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