Matlab光流组件到复杂的矢量场

问题描述 投票:2回答:1

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

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

如呼叫所示,以复数形式输出M×N矩阵。例如,当前的电话

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

输出带有组件的流对象

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

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

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

任何解释这一点的旧文档的链接将非常感激。

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

    Flow = complex(Vx,Vy),

但我不支持这个

matlab computer-vision vision opticalflow
1个回答
0
投票

从文档中可以清楚地看出输出选项的含义。如果您有兴趣,可以访问旧版文档。

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

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

flowComplex = complex(flow.Vx, flow.Vy);
© www.soinside.com 2019 - 2024. All rights reserved.