RGB-гистограмма с использованием смещения битов в matlab

Я пытаюсь создать mozaic образ в Matlab. База данных состоит в основном из изображений RGB, а также из нескольких оттенков серого.

Мне нужно рассчитать гистограммы - как в примере из статьи в Википедии оцветные гистограммы - для изображений RGB и мысли об использовании оператора сдвига битов в Matlab для объединения каналов R, G и B.

nbins = 4;
nbits = 8;

index = bitshift(bitshift(image(:,:,1), log2(nbins)-nbits), 2*log2(nbins)) + ...
            + bitshift(bitshift(image(:,:,2), log2(nbins)-nbits), log2(nbins)) + ...
            + bitshift(image(:,:,3), log2(nbins)-nbits) + 1;

индекс теперь матрица того же размера, что иобраз с индексом для соответствующего бина для значения пикселя.

Как я могу суммировать вхождения всех уникальных значений в этой матрице, чтобы получить гистограмму изображения RGB?

Есть ли лучший подход, чем битовое смещение, для расчета гистограммы изображения RGB?

Ответы на вопрос(1)

Ваш ответ на вопрос