www.gusucode.com > MATLAB编程改进了的动态视频目标跟踪程序源码 > SSDA_080721.m
clc; close all; clear all; A=imread('Pic1.jpg'); T=imread('Snap1_32.jpg'); A_G=rgb2gray(A); T_G=rgb2gray(T); [M,N]=size(A_G); % 求图像的大小 [m,n]=size(T_G); A_G=double(A_G); T_G=double(T_G); figure(1),imshow(uint8(A_G)); axis on; % Y=image_down(T_G,[3,3],[1 1 1;1 1 1;1 1 1]); % SSDA double Dist=zeros(M-m,N-n); for x=1:M-m for y=1:N-n Temp=0; for i=0:m-1 for j=0:n-1 Temp = Temp+abs(A_G(i+x,j+y)-T_G(i+1,j+1)); end end Dist(x,y)=Temp/(m*n); end end %%%%%%%%%%%%%%%%%%%%%%%%% % 求每一行的最小值 D=zeros(1,M-m); for x=1:M-m % 行 D(x)=Dist(x,1); for y=1:N-n-1 % 列 if(D(x)>Dist(x,y+1)) % D(x)=Dist(x,y+1); end end end %***************************** % figure(2) % x=1:1:M-m % plot(x,D,'*'); %%%%%%%%%%%%%%%%%%%%%%%%% % 求最小值的坐标点 min0=D(1); % min0为最小值 for i=1:M-m-1 if(min0>D(i+1)) min0=D(i+1); end end % for i=1:M-m-1 % if(D(i)==min0) % i % end % end min0 %**************** for x=1:M-m % 行 for y=1:N-n-1 % 列 if(min0 == Dist(x,y)) x % 实时图像的纵坐标 y % plot(x,y,'*') % axis on end end end % A_S=edge(A_G,'sobel'); % 边缘提取 % T_S=edge(T_G,'sobel'); % 边缘提取 % % % figure(1),imhist(A_G); % imhist灰度直方图 % figure(2),imshow(T_G); % % figure(3),imshow(A_S); % figure(4),imshow(T_S);