计算全局运动opencv 2.4.x C.

这是两张图片,一张是在外科医生采取行动之前拍摄的,另一张是之后拍摄的.

之前:
《计算全局运动opencv 2.4.x C.》

后:
《计算全局运动opencv 2.4.x C.》

差异:(之后 – 之前)128.(128的加入只是为了获得更好的图像)
《计算全局运动opencv 2.4.x C.》

正如白色箭头所指出的那样,有一个影响所有物体的全局运动.

因此,我需要对其进行估算,以便获得有关场景中发生的更多有价值的信息.

我已经知道OpenCV 3.0在这种情况下有所帮助,它实现了一些方法来估计两个图像或两个点列表之间的主要运动.但我到目前为止使用OpenCV 2.4.x因为我已经在我的机器上安装了库,所以我正在寻找替代解决方案或任何其他代码来实现我想要的.

最佳答案 您正在寻找一个
dense optical flow算法:

结果

cv::calcOpticalFlowFarneback(img1, img2, flowField, 0.5, 3, 10, 5, 5, 1.1)

是以下流程字段,您可以清楚地看到更改:《计算全局运动opencv 2.4.x C.》

至于全局运动检测:

>如果全局运动非常小(如您的示例中所示),则可以对运动矢量进行阈值处理:将小值抛出.
>如果它更大,找到主导运动矢量并从所有矢量中减去它.然后阈值扔掉小值

点赞