gpt4 book ai didi

c++ - 使用 vlfeat 进行密集 SIFT 关键点和描述符提取

转载 作者:太空宇宙 更新时间:2023-11-04 13:45:44 25 4
gpt4 key购买 nike

我目前正在使用 vlfeat 的 Dense SIFT。但是我只从代码中得到了一个关键点和描述符。但是返回的关键点数量更多。如何提取所有关键点和描述符。

Descriptor 也是一个单一的值,它应该是 128 X N。

代码如下。

vlkeypoints 大小只有一个。如何提取所有关键点?

    img = imread("filename.jpg");

// create filter
vlf = vl_dsift_new(img.rows, img.cols, 1, 3);

// transform image in cv::Mat to float vector
std::vector<float> imgvec;
for (int i = 0; i < img.rows; ++i){
for (int j = 0; j < img.cols; ++j){
imgvec.push_back(img.at<unsigned char>(i,j) / 255.0f);
}
}
// call processing function of vl
vl_dsift_process(vlf, &imgvec[0]);

// echo number of keypoints found
std::cout << vl_dsift_get_keypoint_num(vlf) << std::endl;

// Extract keypoints
VlDsiftKeypoint * vlkeypoints;
vlkeypoints = vl_dsift_get_keypoints(vlf);

最佳答案

for (int i = 0; i < numKeyPoints; i++) {
cout << vlkeypoints[i].x << endl;
cout << vlkeypoints[i].y << endl;
}

关于c++ - 使用 vlfeat 进行密集 SIFT 关键点和描述符提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26083669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com