【问题标题】:calculate Euclidean distance of two image in hsv color space in matlab在matlab中计算hsv颜色空间中两个图像的欧几里得距离
【发布时间】:2013-07-20 19:41:07
【问题描述】:

我使用下面的代码来计算两个 rgb 图像的欧几里得距离:

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

【问题讨论】:

    标签: matlab image-processing hsv euclidean-distance


    【解决方案1】:

    您需要为每个通道分别创建一个直方图

    function hst = im2hsvHist( img )
    % 
    % computes three channels histogram in HSV color space
    %
    n = 256; % number of bins per hist (per channel)
    hsvImg = rgb2hsv( img );
    hst = zeros(n,3);
    for ci = 1:3 
        hst(:,ci) = imhist( hsvImg(:,:,ci ) , n );
    end
    hst = hst(:) ./ n; % to 3*n vector, normalize by n and not 3n
    

    使用此函数,您可以计算 hsv 空间中的图像到图像的距离

    Im1 = imread(filename1);
    hst1 = im2hsvHist(Im1);
    Im2 = imread(filename2);
    hst2 = im2hsvDist(Im2);
    f = norm( hst1 - hst2 );
    

    偷看im2hsvHist的矢量化版本:

    n = 256;
    hsvImg = rgb2hsv(img);
    hst = hist(重塑(hsvImg, [], 3), 255); % 而不是循环!
    hst = hst(:) / n;

    【讨论】:

    • 非常感谢。这很有帮助。我可以问关于第一部分的另一个问题((im2hsvHist))。我有 rgb 格式的图像,我通过我在这个问题中提到的代码将它们转换为 hsv:stackoverflow.com/questions/17724689/… im2hsvHist 做同样的事情吗?再次感谢您
    • @samdean - 两种解决方案都使用rgb2hsv 将 rgb 颜色空间转换为 hsv 颜色空间。您提到的问题仅使用 hsv 颜色空间的“色调”通道。这相当于在我的函数im2hsvHist 中运行ci 循环,仅用于ci=1 - Hue 通道。
    • @samdean 欢迎来到 stackoverflow。如果它实际上回答了您的问题,则在这里“接受”答案是客户的选择。您通过单击旁边的“V”图标“接受”答案。考虑对您之前提到的问题stackoverflow.com/questions/17724689/… 也这样做。
    • 对不起,我在这方面有点天真。所以如果我使用你的代码而不是我的代码也没关系,因为我觉得它更好。大约 256,这是您在文章中看到的每个 hist(每个通道)的 bin 数量,我正在尝试编写它的代码,它提到颜色直方图的量化设置为 16 个颜色 bin,所以我应该将 16 设置为 n 还是这无关紧要吗?谢谢
    • 我知道我应该按下 v 按钮,我会的。但我认为,如果我按下该问题将被锁定,我将无法向您提出我的问题(即上面的评论)。我想问最后一个问题,然后按 v。我对按 v 后锁定问题是否正确?
    猜你喜欢
    • 2013-08-14
    • 2016-09-11
    • 2014-07-17
    • 2014-11-05
    • 2014-06-08
    • 2014-01-17
    相关资源
    最近更新 更多