【问题标题】:Opencv feature description given coordinatesOpencv 特征描述给定坐标
【发布时间】:2014-05-04 12:12:23
【问题描述】:

我在匹配我使用 harris 检测器找到的兴趣点时遇到问题。 我没有在opencv中使用harrisDetector的内置功能。相反,我编写了算法。
所以,我最终得到了兴趣点,但我不知道如何用 opencv 内置描述符来描述这些 x,y 坐标集。

有谁知道如何描述图像给定坐标集的这些兴趣点?

这是我尝试过的:

  1. 我将兴趣点转换为关键点

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

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

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

感谢任何cmets。

【问题讨论】:

标签: c++ opencv feature-detection


【解决方案1】:

来自 opencv 文档

删除无法计算描述符的关键点。

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

您能否尝试声明大小不同于 0 的关键点,并且可能使用角度、八度和响应——不仅是逐点;看看是否有任何变化。结构关键点here

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 2012-05-30
    • 2014-05-07
    • 2020-11-27
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多