直方图相似性度量方式(一) EMD

来源:互联网 发布:mac shell 当前路径 编辑:程序博客网 时间:2024/04/29 05:13
 

opencv中图像一种相似性度量方法-------EMD

分类: opencv 262人阅读 评论(0) 收藏 举报
opencv算法

EMD算法是用来比较两幅图像相似性的方法。在颜色直方图中,由于光线等的变化会引起图像颜色值的漂移,它们会引起颜色值位置的变化,从而导致直方图匹配失效。EMD的思想是求得从一幅图像转化为另一幅图像的代价,用直方图来表示就是求得一个直方图转化为另一个直方图的代价,代价越小,越相似。

计算 EMD 的方法来源于有名的运输问题的解决方案,其实质是双向网络最优路径的选择问题。运输问题是假设有几个供货商,每个供货商都有一定数量的货物,需要供货给几个消费商每个消费商都有一个购货能力上限,在任何供货商与消费商之间运输一个单位货物的成本给定传输问题就是寻找最小代价货物流,货物从供货商流向消费商这些货物能满足消费商的要求。运输问题的目的就是找到一组路径F=[fij],也就是供货商与消费商之间的对应关系当使用这种双向对应关系时,能够最小化运输货物所要付出的代价

若直方图经过归一化处理,则分母为1,所以EMD的公式只管的表示可以理解为:直方图A转化为直方图B时,需要把A中的每一个bin进行分割给B中的每一个bin,在乘上bin之间的代价。(以下是个人理解)假如:AB都有两个bin,且AB的距离代价分别为0.40.7Abin10.5,且分成0.10.4Bbin1bin2,同样,Abin2分成0.30.2B,EMD=0.4*0.1+0.7*0.4+0.4*0.3+0.7*0.2 


0 0