Matlab 光流组件到复矢量场

Posted

技术标签:

【中文标题】Matlab 光流组件到复矢量场【英文标题】:Matlab opticalFlow components to complex vector field 【发布时间】:2019-02-12 02:52:32 【问题描述】:

我正在尝试更新使用不再支持的 MATLAB 调用的旧代码

   opticalFlowClass = vision.OpticalFlow('OutputValue', ...
     'Horizontal and vertical components in complex form', 'Method', method);

如调用所示,输出复数形式的 M x N 矩阵。 以当前通话为例

     opticalFlowClass = opticalFlowHS;
     flow = estimateFlow(opticalFlowClass, video);

输出带有组件的流对象

    flow.Vx
    flow.Vy
    flow.Magnitude
    flow.Orientation      

由于代码中其他地方的依赖关系并避免完全重写,我想使用来自新调用的组件以旧调用的复杂形式形成矩阵。但是,我找不到任何文档是如何创建复杂表单的。我的问题是

复杂形式的结构是什么,它是如何从组件和方向创建的?

非常感谢任何指向旧文档的链接来解释这一点。

编辑:我应该补充一点,我推测

    Flow = complex(Vx,Vy),

但我不支持这个

【问题讨论】:

【参考方案1】:

从文档中不清楚该输出选项的确切含义。如果您有兴趣,可以访问旧文档。

https://www.mathworks.com/help/releases/R2015a/vision/ref/vision.opticalflow-class.html

通过未记录的videooptflowlines 函数潜水,似乎real(flow) 代表向右正的水平速度,imag(flow) 代表正向下的垂直速度。所以你的猜测是正确的

flowComplex = complex(flow.Vx, flow.Vy);

【讨论】:

以上是关于Matlab 光流组件到复矢量场的主要内容,如果未能解决你的问题,请参考以下文章

在光流路径场周围创建一个边界框

目标跟踪基于matlab光流法运动视频跟踪含Matlab源码 1357期

目标跟踪基于matlab光流法运动视频跟踪含Matlab源码 1357期

视频抖动程度检测基于LK光流算法的视频图像序列抖动程度计算matlab仿真

流体运动估计光流算法研究

Lucas-Kanade 方法的光流?