Opencv特性描述给出坐标

Opencv feature description given coordinates

本文关键字:坐标 描述 Opencv      更新时间:2023-10-16

我在匹配哈里斯探测器上发现的兴趣点时遇到了问题。我没有使用openv中harrisDetector的内置函数。相反,我写了一个算法。
所以,我最终得到了兴趣点,但我不知道如何用opencv内置描述符来描述这些x,y坐标集。

有人知道如何描述给定图像坐标集的兴趣点吗?

这是我尝试的:

  1. 我将我的兴趣点转换为keyPoints

    keyPoints.push_back(KeyPoint(InterestPoints[i].x, InterestPoints[i].y, 0.0));
    
  2. 使用Surf描述符

    SurfDescriptorExtractor extractor;
    Mat descriptors_1;
    extractor.compute(src_orig, keyPoints, descriptors_1);
    

但是它对我帮助不大。每次我运行代码时,它都会重置变量keyPoints,但什么也没给我。

From opencv doc

不能计算描述符的关键点将被删除。

表示如果关键点都被删除,那么也不应该有描述符。即SURF提取器无法描述您的关键点。

你能不能试着声明大小不同于0的关键点,也许还有角度,八度程和响应-不仅仅是点方向;看看有没有什么变化。此处Struct keypoint

提取这些关键点的描述符与检测是完全不同的过程。提取对该特征的属性进行编码,如其方向,与邻居的对比,金字塔水平等,以便与来自不同图像,不同尺度和方向的其他关键点进行比较。简而言之,仅仅将功能声明为一个点可能还不够。