【问题标题】:OpenCV Image MatchingOpenCV 图像匹配
【发布时间】:2016-01-09 21:25:50
【问题描述】:

我有两张来自同一场景的立体相机的图像,但很少有不同的视角(imgLeft 和 imgRight)。 现在,我想在左侧找到右侧图像的 ROI(下图中的红色矩形)。我需要非常快地做到这一点,因为我在视频中这样做。我怎样才能做到这一点?我没有 OpenCV 的 nonfree;但我已经安装了 CUDA。

imgRight:

imgLeft:

【问题讨论】:

  • 您是否校准了立体声对?如果您知道相机矩阵,这应该很简单。
  • 是的,我已经这样做了。但由于我不知道到 ROI 的距离,我无法使用这些矩阵计算它们。相反,我必须使用某种匹配算法。知道哪一个最好吗?由于图像非常相似,我不必使用 SURF 或 SIFT 等算法。有没有一种可以处理类似图像的快速方法?
  • 可以使用未知的深度参数化目标点。这样得到的关系在深度上是线性的(对吗?)。所以也许你可以使用这些信息来减少你的搜索空间。

标签: opencv roi opticalflow image-registration


【解决方案1】:

这应该是你的朋友http://docs.opencv.org/2.4/modules/video/doc/motion_analysis_and_object_tracking.html#calcopticalflowpyrlk

您需要做的就是在这个矩形内找到特征点并将它们传递给cv::calcopticalflowpyrlk 以获取第二张图像中的对等点。您可能需要对这些点进行一些过滤以确保跟踪是完美的,例如使用 CV_RANSAC 标志将它们传递给 cv::findHomography 并检查掩码输出。

操作快速且实时。此方法还有一个 CUDA 版本。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2011-12-13
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2014-04-11
    相关资源
    最近更新 更多