1

使用 opencv 拼接器类拼接两个以上的图像时,是否有可能减少计算时间?我注意到,我想要拼接的图像越多,它就会呈指数级增长(为什么?)。opencv 缝合器是否有可能尝试将每个图像与其他图像缝合,因为我有一个定义的缝合图像的顺序。所以也许这将是减少计算时间的一种方法。我希望你明白我的意思,也许你可以给我一些建议来解决我的问题。

4

2 回答 2

2

OpenCV Stitcher 类将每个输入图像与所有其他图像匹配,因此是指数运行时间。确实可以修改 OpenCV 提供的示例代码以仅将第一个与第二个图像匹配,第二个与第三个图像匹配,依此类推。这将导致或多或少的线性运行时间。

为了进一步减少运行时间,您可以减少输入图像大小、特征类型(筛选和冲浪速度较慢但比其他更稳健)以及捆绑调整的阈值。

于 2013-06-20T13:17:09.123 回答
2

你有可用的gpu吗?

一个显着减少处理时间的简单方法是尽可能使用 GPU。Opencv 每天都让事情变得更容易,如果你看一下文档,你会发现缝合器有一个 GP 标志。

这是文档

你想玩那个元素:

--try_gpu (yes|no) 尝试使用 GPU。默认值为“否”。所有默认值均适用于 CPU 模式。

请注意,您需要使用 GPU 支持编译 OpenCV 才能正常工作。您可以在此处找到有关 OPencv 中的 GPU 支持的更多信息。

如果你不能使用 GPU,正如@perfanoff 所说,对图像进行下采样在 99% 的情况下都是图像处理的好主意。

于 2013-06-13T10:20:46.217 回答