matlab光流lk,Matlab数字视频处理 光流LK算法

Matlab数字视频处理 光流LK算法

Matlab数字视频处理 光流LK算法

正在学习数字视频处理,老师给了一些资料 拿出来给大家分享! function [u, v] = LucasKanade(im1, im2, windowSize);

%LucasKanade lucas kanade algorithm, without pyramids (only 1 level);

%REVISION: NaN vals are replaced by zeros

[fx, fy, ft] = ComputeDerivatives(im1, im2);

u = zeros(size(im1));

v = zeros(size(im2));

halfWindow = floor(windowSize/2);

for i = halfWindow+1:size(fx,1)-halfWindow

for j = halfWindow+1:size(fx,2)-halfWindow

curFx = fx(i-halfWindow:i+halfWindow, j-halfWindow:j+halfWindow); curFy = fy(i-halfWindow:i+halfWindow, j-halfWindow:j+halfWindow); curFt = ft(i-halfWindow:i+halfWindow, j-halfWindow:j+halfWindow);

curFx = curFx';

curFy = curFy';

curFt = curFt';

curFx = curFx(:);

curFy = curFy(:);

curFt = -curFt(:);

A = [curFx curFy];

U = pinv(A'*A)*A'*curFt;

u(i,j)=U(1);

v(i,j)=U(2);

end;

end;

u(isnan(u))=0;

v(isnan(v))=0;

%u=u(2:size(u,1), 2:size(u,2));

%v=v(2:size(v,1), 2:size(v,2));

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值