获取SIFT描述符使用OpenCV的指定点(Get the SIFT descriptor for

2019-10-21 09:05发布

我想获得SIFT特征的指定点。 这些点是由手工变得不是关键点检测。 我的问题是:我只知道点的位置 ,但没有关于大小角度的价值理念。 我应该如何设置这个值?

这里是我的代码:

int main()
{
    Mat img_object = imread("img/test.jpg", 0);

    SiftDescriptorExtractor extractor;
    Mat descriptors;
    std::vector<KeyPoint> keypoints;

    // set keypoint position and size: should I set 
    // size parameter to 32 for 32x32 patch?
    KeyPoint kp(50, 60, 32);
    keypoints.push_back(kp);

    extractor.compute( img_object, keypoints, descriptors );

    return 0;
}

如若我关键点的大小参数设置为32 32×32补丁。 这是实现合理的?

Answer 1:

通常情况下,关键点探测器在围绕一个点的局部附近工作。 这是size的OpenCV的领域KeyPoint类。 该angle场是关键点的主方向(这可以设置为-1,注释)。

OpenCV的关键点类

这里的另一个参考。



文章来源: Get the SIFT descriptor for specified point using OpenCV