计算用狗提取的描述符之间的距离

时间:2014-11-28 12:12:56

标签: python image-processing scikit-image

我试图匹配使用狗blob检测得到的补丁。我已经通过Jan Solem的书了解了有关python的计算机视觉,我发现:

def match(desc1,desc2,threshold=0.5):

    n = len(desc1[0])

    d = -ones((len(desc1),len(desc2)))
    for i in range(len(desc1)):
        for j in range(len(desc2)):
            d1 = (desc1[i] - mean(desc1[i])) / std(desc1[i])
            d2 = (desc2[j] - mean(desc2[j])) / std(desc2[j])
            ncc_value = sum(d1 * d2) / (n-1)
            if ncc_value > threshold:
                d[i,j] = ncc_value
    ndx = argsort(-d)
    matchscores = ndx[:,0]
    return matchscores

如果你使用哈里斯角点检测很有用,但我的功能引发了一个ValueError:操作数无法与形状(81,)(0,)一起广播。

我怎样才能为不同的blob检测器实现一个有效的代码,它可以做与此相同的事情(使用负交叉相关计算距离)?

0 个答案:

没有答案