我想比较两个图像直方图。它们如下:
h1 --> 长度为 0.4096 的双值一维向量。
h2 --> 长度为 0.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)) --> ?
有人可以解释一下上面的代码吗?另外,请告诉我,如果我使用单一金额,可以吗?
我尝试了两种方法,并为两个图像直方图得到了相同的答案。我只用了两个直方图就做到了这一点,因此想确定一下。
谢谢!