Действительно, гистограммы предназначены для представления перераспределения тональных значений для одного канала. Цветные изображения часто представляют собой 3-канальные изображения (красный, зеленый, синий в большинстве случаев).
Метод Гауля должен работать совершенно корректно. Если вы хотите быть более точным, вы можете извлечь каждый канал и вычислить его гистограмму:
Red1 = Im1(:, :, 1);
Green1 = Im1(:, :, 2);
Blue1 = Im1(:, :, 3);
HnBlue1 = imhist(Blue1)./numel(Blue1);
Теперь вы можете определить оценочную функцию на основе 3 евклидовых расстояний (1 для каждого канала):
FBlue = sum((HnBlue1 - HnBlue2).^2);
FRed= sum((HnRed1 - HnRed2).^2);
...
F = Alpha*FBlue + Beta*FRed + Gamma*FGreen //as an example
Поэтому вы можете сделать акцент на одном или другом цвете в определении расстояния. Это может быть полезно, если изображение, которое вы хотите проверить, имеет определенный цвет.
Это альтернатива методу Гаула, но его эквивалентом было бы установить Alpha, Beta и Gamma как "0.2989 * R + 0.5870 * G + 0.1140 * B", как заявил Андрей.