0

我正在尝试在 Python 中使用 OpenCV 从视频中计算差分图像速度不变量(例如卷曲、发散、变形等)。为此,我需要计算光流 x,y 方向的空间导数。不幸的是,OpenCV 似乎只提供用于计算光流的 API,而不是它的衍生产品。

是否有任何 Python 库用于计算光流的空间导数?我发现这个 SO 问题有点类似于Lucas Kanade Optical Flow, Direction Vector,并且有人编写了用于计算空间导数的代码,但如果可能的话,我更喜欢一个库而不是自己编写代码。任何建议,将不胜感激!

4

1 回答 1

0

这就是我看到的方式(我已经使用了一点光流):

您想计算光流场的各个偏导数;一个用于x方向,一个用于y.

我会尝试像这样解决问题:

  • 将您的流数组/矩阵拆分为两个矩阵:xy流。
  • 对于其中的每一个,你可以走天真的路线,只做一个简单的区别:derivative = current_state - last_state. 但是这种方法非常混乱,因为导数会对最轻微的错误很敏感。
  • 为了解决这个问题,您可以使用易于微分的回归曲线(如多项式)来近似数据点的一部分(可能是整行?)。

只需区分该近似曲线,您就可以开始了。

您也可以只平滑单个矩阵并做一个简单的差异,这应该比近似数据点快得多,但应该更能容忍错误。

于 2011-10-27T19:19:47.720 回答