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