я использую следующий код для вычисления евклидова расстояния для двух RgB изображений:
рассчитать евклидово расстояния двух изображений в ВПГЕ цветового пространства в MATLAB
Im1 = imread(filename1);
Im1 = rgb2gray(Im1);
hn1 = imhist(Im1)./numel(Im1);
Im2 = imread(filename2);
Im2 = rgb2gray(Im2);
hn2 = imhist(Im2)./numel(Im2);
f = norm(hn1-hn2);
, и это дает мне правильный ответ
но теперь я хотите использовать код для двух изображений в режиме цветового режима hsv, но он не работает на нем
вызывают все вышеуказанные коды в 2d-пространстве, в то время как hsv равно 1d
есть ли какой-либо конкретный код для вычисления евклидова расстояния двух изображений в hsv цветовое пространство? формат изображения Jpeg
большое спасибо. это так полезно. могу ли я задать другой вопрос о первой части ((im2hsvHist)). У меня есть изображения в rgb, я конвертирую их в hsv по коду, который я упомянул в этом вопросе: http://stackoverflow.com/questions/17724689/a-color-histogram-algorithm-in-matlab делает im2hsvHist делать то же самое вещь? еще раз спасибо – samdean
@samdean - оба решения используют 'rgb2hsv' для преобразования цветового пространства rgb в цветовое пространство hsv. В заданном вами вопросе используется только канал «Hue» цветового пространства hsv. Это эквивалентно запуску цикла 'ci' в моей функции' im2hsvHist' только для 'ci = 1' - канала Hue. – Shai
@samdean Добро пожаловать в stackoverflow. Здесь принято «принимать» ответ, если он действительно отвечает на ваш вопрос. Вы «принимаете» ответ, нажав на значок «V» рядом с ним. Подумайте об этом и по вопросу http://stackoverflow.com/questions/17724689/a-color-histogram-algorithm-in-matlab, о котором вы говорили ранее. – Shai