Matlab光流分量到复向量场

Matlab光流分量到复向量场,matlab,computer-vision,vision,opticalflow,Matlab,Computer Vision,Vision,Opticalflow,我正在尝试更新使用不再受支持的MATLAB调用的遗留代码 opticalFlowClass = vision.OpticalFlow('OutputValue', ... 'Horizontal and vertical components in complex form', 'Method', method); 如调用所示,它以复杂形式输出一个M x N矩阵。 例如,当前调用 opticalFlowClass = opticalFlowHS; flow

我正在尝试更新使用不再受支持的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),

但是我不支持这个

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

在未记录的
videooptflowlines
功能中,似乎
real(flow)
表示向右正的水平速度,
imag(flow)
表示向下正的垂直速度。所以你的猜测是正确的

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