Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opencv中大型图像的关键点检测与匹配_Opencv_Sift_Image Stitching - Fatal编程技术网

opencv中大型图像的关键点检测与匹配

opencv中大型图像的关键点检测与匹配,opencv,sift,image-stitching,Opencv,Sift,Image Stitching,我正在opencv中进行关键点检测和匹配,以缝合两幅图像 当图像很小时,效果很好。但是在处理较大的图像时,检测到的关键点数量会增加,因此需要花费大量时间来匹配它们。但是为了缝合图像,我们似乎不需要那么多关键点。为了提高效率,有没有办法只检测有限数量的关键点 在代码中,我使用SiftFeatureDetector和SiftDescriptorExtractor来检测关键点和提取描述符 问候。我的建议: 重新调整图像大小,使其变得更小,然后执行特征匹配。 一旦你有了一个快速的解决方案(单应)应用它,

我正在opencv中进行关键点检测和匹配,以缝合两幅图像

当图像很小时,效果很好。但是在处理较大的图像时,检测到的关键点数量会增加,因此需要花费大量时间来匹配它们。但是为了缝合图像,我们似乎不需要那么多关键点。为了提高效率,有没有办法只检测有限数量的关键点

在代码中,我使用SiftFeatureDetector和SiftDescriptorExtractor来检测关键点和提取描述符

问候。

我的建议:

重新调整图像大小,使其变得更小,然后执行特征匹配。 一旦你有了一个快速的解决方案(单应)应用它,比下一个匹配会快得多

您确实有办法轻松控制功能的数量。您可以提高阈值,因此将选择较少的功能。 您甚至可以在while()循环中包装阈值。它会提高阈值,直到特征量小于N(但大于一些M)

请看我在这里发布的完整代码示例:


1,重新调整尺寸是一个好方法。在detector.detect中使用掩码参数(img、feature、mask)将产生相同的结果,对吗?2、控制检测器获得的特征量。检测似乎并不容易,因为无法在函数中设置阈值,对吗?使用掩码是一个好方法,但我不确定您是否知道掩码应该是什么。您如何提前知道在哪里可以找到好的功能?关于特征的数量,在我发布的示例中有一行:Ptr检测器=新的SurfFeatureDetector(2000);2000是您需要通过将此行与detector->detect包装在一起并对检测到的特征数量设置条件来更改的数字