工控编程吧
标题: 工业视觉halcon optical_flow_mg函数介绍 [打印本页]
作者: qq263946146 时间: 2019-6-5 17:48
标题: 工业视觉halcon optical_flow_mg函数介绍
optical_flow_mg(ImageT1, ImageT2 : VectorField : Algorithm, SmoothingSigma, IntegrationSigma, FlowSmoothness, GradientConstancy, MGParamName, MGParamValue : )
optical_flow_mg计算两幅图像之间的光流。
光流表示单眼图像序列中两个连续图像之间运动的信息。
图像中的运动可以由物体在世界空间上的运动引起,也可以由相机(或两者)在获取两幅图像之间的运动引起。
这些三维运动在二维图像平面上的投影称为光流。
两个连续图像在ImageT1和ImageT2中传递。
计算得到的光流在VectorField 中返回。
向量场VectorField 中的向量表示ImageT1和ImageT2之间在图像平面上的运动。
ImageT2中对应于ImageT1中(r,c)点的点由(r',c') = (r+u(r,c),c+v(r,c))给出,
其中u(r,c)和v(r,c)表示向量场的行和列分量在点(r,c)处的值。
参数Algorithm 允许选择三种不同的算法来计算光流。
这三种算法都是通过使用多重网格求解器来实现的,以确保底层偏微分方程的有效解。
对于Algorithm = 'fdrig',使用了Brox、Bruhn、Papenberg和Weickert提出的方法。该方法是流驱动的,鲁棒的,各向同性的,并使用梯度恒定项。
对于Algorithm = 'ddraw',使用了Nagel和Enkelmann提出的方法的鲁棒变体。这种方法是数据驱动的、鲁棒的、各向异性的,并且使用了翘曲(与原始方法相反)。
对于Algorithm = 'clg'采用了Bruhn、Weickert、Feddern、Kohlberger和Schnorr提出的局部-全局结合方法。
在这三种算法中,输入图像都可以首先通过一个标准偏差为SmoothingSigma的高斯滤波器进行平滑(见derivate_gauss)。
这三种方法都是变分方法,计算光流作为合适能量泛函的最小值。一般来说,能量泛函的形式如下:
(, 下载次数: 0)