加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

向量相似度匹配之巴氏距离/系数

(2014-01-09 12:09:28)
标签:

杂谈

今天大嘴简单介绍一下向量(如归一化后的直方图、归一化后的模板向量)相似度匹配之“巴氏距离和巴氏系数”和一小段代码,算法虽小但很实用。(年底了,项目太忙了,尽量抽空发发文章)

先看一下定义

对于在X 数域上的两个离散概率分布p 和q,巴氏距离定义为:

DB(p,q) = -ln(BC(p,q))

其中 BC(p,q) = Σsqrt(p(x)*q(x))

BC 被称作Bhattacharyya 系数(巴氏系数),0≤BC≤1 且0≤DB≤∞

巴氏系数全称为巴塔恰里雅(Bhattacharyya coefficient) 系数,是向量相似度匹配中(如:用于衡量参考模版与候选模版的颜色概率分布的相似度或者说相关性测量)最常用的小算法。

奉上一小段代码(以后大嘴会经常上传一些非涉密性代码),采用的是浮点计算,PC下无所谓,如果用于嵌入式(如DSP)下大家最好改成定点计算,并采用指针相乘,大嘴这里偷懒了,如果编译报错,请大家将中文标点自行改为英文标点,哈!!!

float CalcuBhattacharyya( float *p, float *q, int length)

{

//参数:p和q为指向待匹配的两个向量(一维数组)的首地址指针,//length为数组长度

int i = 0;

float rho = 0.0;

for ( i = 0; i < length; i )

{

rho = sqrt( p[i]*q[i] );//这里最好用指针不用数组下标,

}

return rho;

}

//rho 越大则认为参考模版与候选模版的颜色概率分布的相似度越高

明天大嘴给大家介绍“马氏距离”

===============

声明:

本微信公众号(本微博)所发表的内容均为非营利性,不用于任何商业用途。大嘴所发文章中的部分文字及大多数图片均来自互联网,如果您认为大嘴侵犯到了您的版权,请联系大嘴,大嘴会及时删除相关内容。

「大嘴说图像」 内容涵盖计算机图像处理、模式识别、计算机视觉、智能交通、安防等领域的相关知识。其中,既有大嘴的原创,也有大嘴多年来收集和整理的资料。在创作、筛选文章的同时,大嘴也得以再一次巩固、沉淀上述知识。自娱自乐之外,如果能为您打开一扇了解计算机图像处理相关知识的大门,大嘴将不胜荣幸!对本公众号如有任何意见或建议,请直接发微信与大嘴联系。

欢迎关注同名微信公众号"大嘴说图像",头像为微信二维码

感谢您对大嘴的支持和信任!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有