计算光流空间导数的Python库
我正在尝试使用Python中的OpenCV从视频中计算差分图像速度的不变量(比如旋度、散度、变形等)。为此,我需要计算光流在x和y方向上的空间导数。可惜的是,OpenCV似乎只提供了计算光流的接口,而没有提供计算其导数的功能。
有没有什么Python库可以用来计算光流的空间导数呢?我找到一个类似的问题 Lucas Kanade光流,方向向量,里面有个人写的代码来计算空间导数,但如果能找到一个库就好了,这样我就不需要自己写代码了。任何建议都非常感谢!
1 个回答
0
这是我对这个问题的看法(我对光流有一点了解):
你想要计算光流场的各个部分导数;一个是 x
方向的,另一个是 y
方向的。
我会这样尝试解决这个问题:
- 把你的流数组/矩阵分成两个矩阵:一个是
x
流,另一个是y
流。 - 对于这两个矩阵,你可以采取简单的方法,直接计算差值:
导数 = 当前状态 - 上一个状态
。不过这种方法会很麻烦,因为导数对任何小错误都很敏感。 - 为了应对这个问题,你可以用一个容易求导的回归曲线(比如多项式)来近似你的一部分数据点(也许是一整行?)。
然后对这个近似的曲线进行求导,这样就可以了。
你也可以选择对每个矩阵进行平滑处理,然后再用简单的差值,这样应该比近似数据点要快,而且对错误的容忍度也更高。