【摘要】:不同图像的各个特征可能存在着关联,通过欧氏距离或者汉明距离测度可以来比较这些特征,进而匹配这些特征。高维度的图像特征一般通过欧氏距离作为评判参数,二进制特征由于其结构简洁,一般都是使用汉明距离进行评判。Open CV库提供有暴力匹配子BFMatcher,距离可以使用欧式距离和汉明距离。汉明距在图像处理领域也有着广泛的应用,是比较二进制图像非常有效的手段。
不同图像的各个特征可能存在着关联,通过欧氏距离或者汉明距离测度可以来比较这些特征,进而匹配这些特征。高维度的图像特征一般通过欧氏距离作为评判参数,二进制特征由于其结构简洁,一般都是使用汉明距离进行评判。
很多开源计算机视觉库都提供了特征匹配算法,常用的特征匹配方法有暴力匹配和快速最近邻搜索包算法FLANN。Open CV库提供有暴力匹配子BFMatcher,距离可以使用欧式距离和汉明距离。对于二进制特征一般使用汉明距离,通过简单的异或操作计算距离,对于计算资源要求低,运行速度快。
①欧氏距离。欧几里得度量(Euclidean Metric)(也称欧氏距离)是一个通常采用的距离定义,指在n维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。n维空间的欧氏距离计算公式:(www.xing528.com)
②汉明距离。汉明距离表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。比较两个比特串有多少个位不一样,简洁的操作时就是两个比特串进行异或之后包含1的个数。汉明距在图像处理领域也有着广泛的应用,是比较二进制图像非常有效的手段。
汉明距离的本质是两个数异或后字符"1"的个数,可以直接使用异或实现。可以编写Python函数如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。