Я пытаюсь получить значения 2D гистограммы некоторых изображений, но я действительно потерян с этим. Если я не ошибаюсь, я могу сделать это с np.histogram2d()
из numpy
.
. Я пытаюсь сделать следующее:
def hist2d(img, bins):
b_channel, g_channel, r_channel = img[:, :, 0], img[:, :, 1], img[:, :, 2]
channels = [b_channel, g_channel, r_channel]
c1 = np.histogram2d(b_channel,g_channel, bins=bins_per_hist)
c2 = np.histogram2d(g_channel,r_channel, bins=bins_per_hist)
c3 = np.histogram2d(r_channel,b_channel, bins=bins_per_hist)
# Finally concatenate results
# np.concatenate()
return result
Моя идея,
- Разделить изображение на 3 канала.
- Получить 3 гистограммы 2d.
- Возвращать массив numpy конкатенации 3 нормализованных 2D гистограмм: B / G, B / R и б / р
Вы считаете верной идею? Как мне использовать функцию np.histogram2d()
? Я не понимаю, как я должен передать значения бункеров. Документация содержит список из 2 значений, но какие значения? У меня есть только один.
Примечание: Я делаю это с numpy
, но, возможно, другой вариант colud будет openCV
.
Спасибо большое! Я уверен, что это легко, но я тоже хочу учиться!