MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   计算机视觉/图像处理 (https://www.labfans.com/bbs/forumdisplay.php?f=67)
-   -   [讨论] 视频监控 目标检测 核密度估计建模 (https://www.labfans.com/bbs/showthread.php?t=13930)

alilang 2011-09-28 17:03

视频监控 目标检测 核密度估计建模
 
为什么一运行就死循环呢?而且目标检测的图像为全黑的
clear;
source=aviread('highwayII_raw');
fr=source(1).cdata;
fr_bw=rgb2gray(fr);
fr_size = size(fr);
width = fr_size(2);
height = fr_size(1);
fg = zeros(height, width);
bg_bw = zeros(height, width);
update=zeros(height,width,50);
u_diff=zeros(height,width);
vari=zeros(height,width);
s=0;
N=50;
%%%%%%%%%%%%%%%%%%%%% 样本空间 %%%%%%%%%%%%


for c=1:length(source); %%%%%%%%%%%%%%%%%设置样本空间%%%%%%%%%%%%%%%%%%%%%
fr=source(c).cdata;
fr_bw=rgb2gray(fr);

for c=1:N
update(:,:,c)=fr_bw;
end


temp=0;
for i=1:height
for j=1:width
for n=1:49
fr1_bw=update(:,:,n);
fr2_bw=update(:,:,n+1);
temp=temp+1;
S{1,temp}=abs(double(fr1_bw(i,j,:))-double(fr2_bw(i,j,:)));
end
u_diff(i,j)=median(cell2mat(S));
u_diff(i,j)=max(1.0,u_diff(i,j));
vari(i,j)=u_diff(i,j)/(0.68 * sqrt(2.0));
u=0.0;
for t=1:50
z=(double(fr_bw(i,j))-double(update(i,j,t)))/double(vari(i,j));
z=z*z/2;
tem1=exp(-1.0*z);
tem2=sqrt(2*acos(-1.0))*vari(i,j);
u=u+double(tem1)/double(tem2);
end
pt=u/50;
if(pt<0.04)
fg(i,j)=1;
else
fg(i,j)=0;
update(i,j,1)=fr_bw(i,j);
end
end
end


figure(1),subplot(2,1,1),imshow(fr_bw);
subplot(2,1,2),imshow(uint8(fg));

Mov1(c) = im2frame(uint8(fr_bw),gray); % put frames into movie
Mov2(c) = im2frame(uint8(fg),gray);
end
movie2avi(Mov1,'Vedio','fps',30); % save movie as avi
movie2avi(Mov2,'forground','fps',30);

跪求高人指点,谢谢啦


所有时间均为北京时间。现在的时间是 19:49

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.