【发布时间】:2013-11-14 08:31:38
【问题描述】:
我想比较两个图像直方图。它们如下:
h1 --> 双值一维向量,长度为 .4096。
h2 --> 双值一维向量,长度为 .4096。
我在这里使用这个 matlab 函数:
http://clickdamage.com/sourcecode/code/compareHists.m
如下:
% s = compareHists(h1,h2)
% returns a histogram similarity in the range 0..1
%
% Compares 2 normalised histograms using the Bhattacharyya coefficient.
% Assumes that sum(h1) == sum(h2) == 1
%
function s = compareHists(h1,h2)
s = sum(sum(sum(sqrt(h1).*sqrt(h2))));
我的问题是:
是否需要多个总和?
即使上面的等式只有一个和,也足够了..对吗?
像这样:sum(sqrt(h1).*sqrt(h2)) --> ?
谁能解释一下上面的代码?另外,请告诉我,如果我使用单笔金额,可以吗?
我尝试了两种方法,并为两个图像直方图得到了相同的答案。我只用了两个直方图就做到了这一点,因此想确定一下。
谢谢!
【问题讨论】: