小编Gre*_*ner的帖子

根据提取的 SIFT 描述符通过欧几里德距离(或任何其他距离计算技术)估计两幅图像的相似度分数

我已经使用 openCV python 使用 python 2.7 计算了图像 A 和 B 的 SIFT 描述符。图像 A 有 16X128 (=2048) 个描述符,图像 B 有 10X128 (=1280) 个描述符。现在我陷入困境,因为我不知道如何生成相似度分数。如果您能帮助我,我将不胜感激。

分数或相似性项是一对匹配描述符之间的测量(例如欧几里得距离),但是将图像中的 SIFT 描述符本身与另一个图像中的 SIFT 描述符本身进行比较是不可行的,因为最终会在图像中得到多个 SIFT 描述符,以及它们的数量正如我之前提到的,图像 A 有 16X128 (=2048) 个描述符,另一个有 1028 个。

在matlab VL-feat中,SCORE的实现如下:

[fa, da] = vl_sift(Image_a) ;
[fb, db] = vl_sift(Image_b) ;
[matches, scores] = vl_ubcmatch(da, db) ;
Run Code Online (Sandbox Code Playgroud)

最后,我想计算冒充者和真实分数,然后我想计算 EER。

我想提请您注意,我不想使用以下任何方法:

  1. Matlab 中的 VLfeat
  2. BoW(Bag of word)算法(sift 中的欧几里得距离)
  3. SIFT 解释分数中的答案

谢谢。

这就是我提取 SIFT 关键点和描述符的方法:

import cv2
def extractFeatures_SIFT(Imagelist):
    l = len(Imagelist) …
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing computer-vision sift

2
推荐指数
1
解决办法
4419
查看次数

标签 统计

computer-vision ×1

image-processing ×1

opencv ×1

python ×1

sift ×1