有人可以解释OpenCV Stitcher的参数吗?

use*_*582 5 opencv image-stitching opencv-stitching

我正在尝试减少拼接算法的计算时间.我得到了一些我想按照定义的顺序cv::stitcher.stitch()拼接的图像,但似乎功能试图将每个图像与其他所有图像拼接在一起.

我觉得我可能会在OpenCV Stitcher的参数中找到解决方案.如果没有,也许我必须修改功能或尝试其他方法来减少计算时间.但由于我几乎是初学者,我不知道如何.我知道使用GPU可能是一种可能性,但我现在还没有在Ubuntu上运行CUDA.

如果你能给我一些建议,那就太好了!

OpenCV Stitcher模块的参数:

Stitcher Stitcher::createDefault(bool try_use_gpu) {
Stitcher stitcher;
stitcher.setRegistrationResol(0.6);
stitcher.setSeamEstimationResol(0.1);       
stitcher.setCompositingResol(ORIG_RESOL);    
stitcher.setPanoConfidenceThresh(1);    
stitcher.setWaveCorrection(true);    
stitcher.setWaveCorrectKind(detail::WAVE_CORRECT_HORIZ);    
stitcher.setFeaturesMatcher(new detail::BestOf2NearestMatcher(try_use_gpu));
stitcher.setBundleAdjuster(new detail::BundleAdjusterRay());
Run Code Online (Sandbox Code Playgroud)

来自stitcher.cpp:

https://code.ros.org/trac/opencv/browser/trunk/opencv/modules/stitching/src/stitcher.cpp?rev=7244

Luk*_*ber 0

我想按定义的顺序缝合,但似乎 cv::stitcher.stitch() 函数尝试将每个图像与其他图像缝合。

cv::stitcher没有参数来满足您的要求。

但是,在stitching_detailed.cpp示例中,您有--rangewidth参数。通过将其设置为1,算法将仅考虑相邻图像对(例如,将计算对 1-2 匹配,但不计算对 1-3)