qmxht
2007-12-28, 09:46
m(1)=x1
当 xi<m(i-1) 时,m(i)=m(i-1)-a,
当 xi>m(i-1) 时,m(i)=m(i-1)+a,
当 xi=m(i-1) 时,m(i)=m(i-1),
a只是参数 一般取1值 ; i的值域[2,n],即序列图像的张数
xi为当前读取的序列图像;m(i)和m(i-1)为不断更新的背景图像.
M=imread('d:\MATLAB6p5\work\by\Fountain1000.bmp')
B=rgb2gray(M);
B=double(B);
for i = 1001:1522
Foun= ['d:\MATLAB6p5\work\by\Fountain' num2str(i) '.bmp'];
I=imread(Foun);
G=rgb2gray(I);
G=double(G);
for i = 1:160
for j = 1:128
if G(i,j)<B(i,j)
B(i,j)=B(i,j)-1;
elseif G(i,j)>B
B(i,j)=B(i,j)+1;
else G(i,j)=B(i,j)
B(i,j)=B(i,j);
imshow(uint8(B));
end
估计是第9,10行 我对图像各点定义不对 但我实在是不知道怎么编是正确
当 xi<m(i-1) 时,m(i)=m(i-1)-a,
当 xi>m(i-1) 时,m(i)=m(i-1)+a,
当 xi=m(i-1) 时,m(i)=m(i-1),
a只是参数 一般取1值 ; i的值域[2,n],即序列图像的张数
xi为当前读取的序列图像;m(i)和m(i-1)为不断更新的背景图像.
M=imread('d:\MATLAB6p5\work\by\Fountain1000.bmp')
B=rgb2gray(M);
B=double(B);
for i = 1001:1522
Foun= ['d:\MATLAB6p5\work\by\Fountain' num2str(i) '.bmp'];
I=imread(Foun);
G=rgb2gray(I);
G=double(G);
for i = 1:160
for j = 1:128
if G(i,j)<B(i,j)
B(i,j)=B(i,j)-1;
elseif G(i,j)>B
B(i,j)=B(i,j)+1;
else G(i,j)=B(i,j)
B(i,j)=B(i,j);
imshow(uint8(B));
end
估计是第9,10行 我对图像各点定义不对 但我实在是不知道怎么编是正确