我正在尝试更新使用不再支持的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),
但我不支持这个
从文档中可以清楚地看出输出选项的含义。如果您有兴趣,可以访问旧版文档。
https://www.mathworks.com/help/releases/R2015a/vision/ref/vision.opticalflow-class.html
通过无证的videooptflowlines
函数潜水,似乎real(flow)
代表正向右的水平速度,而imag(flow)
代表垂直速度,正向下。所以你的推测是正确的
flowComplex = complex(flow.Vx, flow.Vy);