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?