资源简介

LK光流法的实现算法,代码直接在主程序中就可以运行。代码内容包括普通LK光流法,改进的金字塔算法,以及根据光流场计算下一帧图像,参考最经典的论文Lucas B D, Kanade T. An iterative image registration technique with an application to stereo vision[C]//IJCAI. 1981, 81: 674-679写的代码。

资源截图

代码片段和文件信息

function LK1
image1 = imread(‘image1.png‘);
image2 = imread(‘image2.png‘);
image1 = rgb2gray(image1);
image2 = rgb2gray(image2);
image1 = single(image1);
image2 = single(image2);
[dx1dy1] = gradient(image1);
[dx2dy2] = gradient(image2);
dx = 1/2*(dx1+dx2);
dy = 1/2*(dy1+dy2);
dt = image1 - image2;
u = zeros(size(image1)); 
v = zeros(size(image1));
window = 9;
half = floor(window/2);
for i = half+1:size(dx1)-half
    for j = half+1:size(dx2)-half
        tempdx = (dx(i-half:i+half j-half:j+half))‘;
        tempdy = (dy(i-half:i+half j-half:j+half))‘;
        tempdt = (dt(i-half:i+half j-half:j+half))‘;
        tempdx = tempdx(:); 
        tempdy = tempdy(:); 
        tempdt = tempdt(:);   
        A = [tempdx tempdy];  
        U = -pinv(A‘*A)*A‘*tempdt;   
        u(ij)=U(1); 
        v(ij)=U(2); 
    end; 
end;   
result=zeros(size(u1)size(u2)3);
umax = 0;
vmax = 0;
umin = 10000;
vmin = 10000;
for i=1:size(u1)
    for j=1:size(u2)
        if (u(ij)>umax)
            umax = u(ij);
        end
        if (u(ij)            umin = u(ij);
        end
        if (v(ij)>vmax)
            vmax = v(ij);
        end
        if (v(ij)            vmin = v(ij);
        end
    end
end
for i=1:size(u1)
    for j=1:size(u2)
        result(ij3) = 0.4;
        result(ij1) = (u(ij)-umin)/(umax-umin);
        result(ij2) = (v(ij)-vmin)/(vmax-vmin);
    end
end
figureimshow(result);
result = im2uint8(result);
B = smooth(result104);
figureimshow(B);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-07-04 10:59  Code\
     文件      158936  2013-06-04 09:40  Code\image1.png
     文件      159975  2013-06-04 09:41  Code\image2.png
     文件        1565  2013-07-01 16:19  Code\LK1.m
     文件        3699  2013-07-07 15:02  Code\LK2.m
     文件        2237  2013-06-28 14:50  Code\smooth.m

评论

共有 条评论