Matlab光流分量到复向量场
我正在尝试更新使用不再受支持的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
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);