2
我使用下面的代码来计算欧几里得距离两个RGB图像:
计算HSV颜色空间中的两个图像的欧氏距离在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色彩空间? 图像格式为JPG
非常感谢。这非常有帮助。我可以问另一个关于第一部分的问题((im2hsvHist))。我有rgb中的图像我将它们转换为hsv的代码,我在这个问题中提到:http://stackoverflow.com/questions/17724689/a-color-histogram-algorithm-in-matlab does im2hsvHist do same事情?再次感谢你 – samdean
@samdean - 两种解决方案都使用'rgb2hsv'将rgb色彩空间转换为hsv色彩空间。你提出的问题只使用hsv色彩空间的“Hue”通道。这相当于在我的函数'im2hsvHist'中运行'ci'循环仅用于'ci = 1' - Hue通道。 – Shai
@samdean欢迎来到stackoverflow。如果它真的回答你的问题,这里是“接受”答案。您通过点击旁边的“V”图标来“接受”答案。考虑这样做也是你之前提到的问题http://stackoverflow.com/questions/17724689/a-color-histogram-algorithm-in-matlab。 – Shai