gpt4 book ai didi

OPENCV SURF 特征描述符强度

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

有什么方法可以将 OPENCV SURF 中的关键点数量限制为 100 个?获取到的关键点会按照强度排序吗?如何获取描述符的强度?我正在使用 cpp 程序在 LINUX 系统中处理 OPENCV。

问候,希克沙

我的代码是: int main( int argc, char** argv ) {

         Mat img_1 = imread( argv[1], CV_LOAD_IMAGE_GRAYSCALE );
Mat img_2 = imread( argv[2], CV_LOAD_IMAGE_GRAYSCALE );



//-- Step 1: Detect the keypoints using SURF Detector
int minHessian = 500;

SurfFeatureDetector detector( minHessian,1,2,false,true );

std::vector<KeyPoint> keypoints_1p;

std::vector<KeyPoint> keypoints_2p;



detector.detect( img_1, keypoints_1p );
detector.detect( img_2, keypoints_2p);


// computing descriptors
SurfDescriptorExtractor extractor(minHessian,1,1,1,0);
Mat descriptors1, descriptors2;

extractor.compute(img_1, keypoints_1p, descriptors1);
extractor.compute(img_2, keypoints_2p, descriptors2);

最佳答案

您最多可以获得 100 个。我可以想象没有 SIFT 描述符的图像(例如恒定图像)。有很多方法可以将关键点限制为 100。您的问题有简单的解决方案和困难的解决方案。您最多可以获得 100 个,从您获得的尽可能多的关键点中随机选择 100 个关键点。

没有关键点强度之类的东西。您将必须定义自己的力量概念。

原始的 Lowe 论文中有各种各样的参数可以过滤关键点(其中之一是它们与图像边缘不匹配,Lowe 论文的第 4.1 节)。还有 2 或 3 个其他参数。您需要以这样一种方式系统地调整参数,即您只能得到 100。如果您得到的值少于 100,您将过滤得更少;如果您得到的值大于 100,您将过滤得更多。

关于OPENCV SURF 特征描述符强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22705303/

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