我想从opencv sift描述符中获取lsh哈希值
首先,我得到下面的筛选描述符
def getSiftDescriptor(imagepath):
img = cv2.imread(imagepath)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
sift = cv2.xfeatures2d.SIFT_create()
kp, des = sift.detectAndCompute(img,None)
return des.reshape(1,-1)
第二,我使用NearPy包(https://github.com/pixelogik/NearPy)计算lsh值,如下所示
rbp = RandomBinaryProjections('default', 100)
def getLsh(descriptor):
rbp.reset(len(descriptor.reshape(1,-1)[0]))
return rbp.hash_vector(descriptor.reshape(1,-1)[0])
最后,我打电话给下面的函数
getLsh(getSiftDescriptor('image path'))
我希望从同一图像获得相同的lsh散列值,
但是每当我打电话时,这个函数都会返回不同的值。
请,推荐python包获取lsh哈希值,就像这种情况或某种方式从opencv sift描述符中获取lsh哈希值
谢谢你的帮助