光流估计基本模型
在每一像素(x,y)处,有:
因此有:
一个小方格里的所有像素位移相同
即Au=b
Lucas—Kanade方法
min ||Au-b||
最小二乘解:
区域像素只有2个时,就是2元1次方程组求解。多个像素,比如3*3时,则是求上述最小二乘解。
思路:在一个小的图像邻域内速度近似一致
约束:
对应:
类似前述求解,可得
可信度判断:
金字塔L — K方法
金字塔流光位移传播示意图
金字塔L — K方法推导
边缘(对比Harris算子)
低纹理区域(对比Harris算子)
OpenCV相关函数
CV_EXPORTS_W void calcOpticalFlowPyrLK( InputArray prevImg, InputArray nextImg,
InputArray prevPts, InputOutputArray nextPts,
OutputArray status, OutputArray err,
Size winSize = Size(21,21), int maxLevel = 3,
TermCriteria criteria = TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01),
int flags = 0, double minEigThreshold = 1e-4 );
prevlmg,第一帧图像。
nextlmg,第二帧图像。
prevPts,第一帧图像中的所有特征点向量。
nextPts,第二帧图像中的所有特征点向量。
status,输出状态向量;如果相应点光流被发现,向量的每个元素被设置为1,否则,被置为0。
转载自原文链接, 如需删除请联系管理员。
原文链接:光流估计,转载请注明来源!