# 参考:光流Optical Flow介绍与OpenCV实现_zouxy09的专栏-优快云博客_opencv 光流
# 参考:Gunnar-Farneback算法原理 & Farneback光流法在UCSD异常数据集上的Demo_Carson1145的博客-优快云博客
基本概念
光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧和当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。
光流是场景中的前景目标的本身移动、相机的运动,或两者的共同运动而产生的。
前提:
- 物体的像素强度不会在连续帧之间改变
- 一张图像中相邻的像素具有相似的运动
光流的计算方法 <概念可跳过>
第一帧中的像素I(x, y)在时间dt后移动到第二帧图像的I(x + dx, y + dy)处
根据灰度值不变得到:
假设运动很小,从泰勒级数推导一阶泰勒展开式:
进行等式变换后,得到:
同除以dt,得到:
对等号右侧进行泰勒级数展开,消去相同项,并处以dt得到: