【问题标题】:Speed up stitching of 2 images?加快拼接 2 张图像?
【发布时间】:2012-02-19 12:41:40
【问题描述】:

我正在使用 2 个飞行相机并尝试将它们拼接在一起。 我在这里使用 OpenCV 和 C++。

由于我尝试使用两个相机覆盖大区域(以及稍后进行轮廓检测),我想知道是否有一种快速的方法可以将两个相机的两个图像拼接在一起?

目前这是我正在做的事情:

  1. 使用先前存储的背景图像删除每个摄像头的图像(以加快以后的轮廓检测)
  2. 使用 cvRemap 函数取消扭曲每个图像
  3. 最后设置图像的 ROI 以将它们拼接在一起。

我的问题是,是否有可能加快速度?由于目前这些步骤大约需要 60 毫秒,而使用附加功能时,它会减慢到 0.1 秒。

我是否一直在使用 OpenCV 的较慢功能?或者有什么技巧可以提高速度?

【问题讨论】:

    标签: opencv imaging vision computer-vision


    【解决方案1】:

    here 获取最新的 OpenCV 快照并尝试此处实现的拼接模块。他们最近一直在研究拼接性能,因此有可能得到一些很好的改进。

    顺便问一下,哪一步花费最多?您是否分析了您的应用程序?查看配置文件结果,您将能够准确了解要优化的地方,以及如何优化。

    【讨论】:

    • 现在仅通过测量每个函数的运行时间,cvAbsDiff 和 cvRemap 都需要大约 10 - 12 毫秒。由于它用于 2 个摄像头,它们需要大约 60 毫秒,加上 setImageROI 大约需要 4 - 5 毫秒。
    • 您可以做的(如果它符合您的要求)是调整输入视频的大小,使其更小。除此之外,很难猜测该怎么做..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2011-08-26
    相关资源
    最近更新 更多