частота подсчета числа в нескольких массивах - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть массив 3300 128x128 (изображения), я хотел бы подсчитать уникальные цвета на этом изображении.

np.unique(task, return_counts = True)

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

Но чтобы получить представление обо всех этих 3300 изображениях.Я хотел бы также получить уникальный результат всех этих изображений на счетах.

Получить уникальный цвет легко, но получить счетчик сложно.

Кто-то может помочь?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вы можете передать список массивов в np.unique:

In [11]: a = np.array([[1, 2], [2, 3]])

In [12]: b = np.array([[5, 6], [1, 3]])

In [13] np.unique([a, b], return_counts=True)
Out[13]: (array([1, 2, 3, 5, 6]), array([2, 2, 2, 1, 1]))

Примечание. Вывод np.unique отсортирован.

0 голосов
/ 28 февраля 2019

Ваш вопрос не совсем понятен, но я думаю, что вы спрашиваете о лучшем способе подсчета появления уникальных цветов на всех изображениях, по сути составляя гистограмму всех цветов.В этом случае гистограмма будет иметь 3000 x 128 x 128 точек данных, правильно?

Если это так, самая простая реализация - это использовать словарь (или defaultdict) в качестве структуры данных, с цветами в качестве ключей иколичество каждого цвета в качестве значения.Или вы можете использовать модуль Counter.

Вы сможете найти примеры, такие как:

Как я могу подсчитать вхождения элемента списка?

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