资源简介

matlab版本的红外目标跟踪的代码,供大家参考查阅,有一定的价值

资源截图

代码片段和文件信息

%Meanshift Function:
%Created a simple convergence algorithm which looks in windows of varying
%sizes. This function is called by wrapper programs such as single
%track.This algorithm identifies the first window that is stable.

function [s_win x_c y_c] = camshift(I_curr s_win)

%Constant Parameters:
T = .5;               % Threshold of convergence (in pixels)
del = T;             %Pixel delta defaults at T
max_iterations = 200;

%Input the initial search window (location and size)
ix = s_win(1);      %Initial x location
iy = s_win(2);      %Initial y location
sx = s_win(3);      %Search window size in x
sy = s_win(4);      %Search window size in y

for x_f = .5:.1:1.5
for y_f = .5:.1:1.5

    x_c = round(ix + sx/2); 
    y_c = round(iy + sy/2);

    iterations = 0;

    %While the solution is still converging as long as we haven‘t been
    %searching for too many iterations
    while (iterations < max_iterations && del >= T)
        
        %Save the previous ix and iy:
x_p = x_c;
        y_p = y_c;
        
        % Compute centroid of search window
        x_min = round(x_c - x_f * sx); 
        x_max = round(x_c + x_f * sx);
        y_min = round(y_c - y_f * sy);
        y_max = round(y_c + y_f * sy);
        
TS = double(0);
for i = x_min:x_max
            for j = y_min:y_max
                if i < size(I_curr2)&& j < size(I_curr1)&& i > 1&& j >  1
                    %Calculate the sum over the area:
                    TS = TS + double(I_curr(ji));
                end
            end
end

I_x = double(0);
for i = x_min:x_max
            for j = y_min:y_max
                if i < size(I_curr2)&& j < size(I_curr1)&& i > 1&& j >  1
                    %Calculate the weighted value:
                    I_x = I_x + i * double(I_curr(ji));
                end
            end
end

        I_y = double(0);
        for i = x_min:x_max
            for j = y_min:y_max
                if i < size(I_curr2)&& j < size(I_curr1)&& i > 1&& j >  1
                    %Calculate the weighted value:
                    I_y = I_y + j * double(I_curr(ji));
                end
            end
        end

        %Find the centroid:
x_c = round(I_x/TS);
y_c = round(I_y/TS);
        
       
        %Calculate Current Error
        del = abs(x_p-x_c) + abs(y_p-y_c);
        iterations = iterations + 1;
    end
    
    if del <= T
        break;
    end
        
end
    if del <= T
        break;
    end
end

sx = min(max(round(x_f * sx)1)size(I_curr2));
sy = min(max(round(y_f * sy)1)size(I_curr1));
ix = min(max(round(x_c - x_f * sx/2)1)size(I_curr2));
iy = min(max(round(y_c - y_f * sy/2)1)size(I_curr1));

%Set return varaibles for new window location
s_win(1) = ix;      %Initial x location
s_win(2) = iy;      %Initial y location
s_win(3) = sx;      %Search window size in x
s_win(4) = sy;      %Search window size in y
end
    
    
       

    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-03-02 18:43  object-Tracking-In-Infrared-master\
     文件        2098  2015-03-02 18:43  object-Tracking-In-Infrared-master\GetGTPlots.m
     文件        2002  2015-03-02 18:43  object-Tracking-In-Infrared-master\GetGTPlots1.m
     文件        1465  2015-03-02 18:43  object-Tracking-In-Infrared-master\Handoff.m
     文件       21980  2015-03-02 18:43  object-Tracking-In-Infrared-master\NoDetect_Track.m
     文件       19518  2015-03-02 18:43  object-Tracking-In-Infrared-master\NoDetect_Track_A.m
     文件         832  2015-03-02 18:43  object-Tracking-In-Infrared-master\README.md
     文件        4049  2015-03-02 18:43  object-Tracking-In-Infrared-master\SetParam.m
     文件        4078  2015-03-02 18:43  object-Tracking-In-Infrared-master\SetParamNDTA.m
     文件       18485  2015-03-02 18:43  object-Tracking-In-Infrared-master\Single_Track.m
     文件       18541  2015-03-02 18:43  object-Tracking-In-Infrared-master\Single_Track_Original.m
     文件        3738  2015-03-02 18:43  object-Tracking-In-Infrared-master\Track.m
     文件        2932  2015-03-02 18:43  object-Tracking-In-Infrared-master\camshift.m
     文件        3113  2015-03-02 18:43  object-Tracking-In-Infrared-master\camshift2.m
     文件         810  2015-03-02 18:43  object-Tracking-In-Infrared-master\tlupdate.m

评论

共有 条评论