Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 计算机视觉/图像处理
计算机视觉/图像处理 A discussion board for Computer Vision & Digital image processing.
回复
 
主题工具 显示模式
旧 2011-09-28, 17:03   #1
alilang
初级会员
 
注册日期: 2011-09-20
帖子: 1
声望力: 0
alilang 正向着好的方向发展
默认 视频监控 目标检测 核密度估计建模

为什么一运行就死循环呢?而且目标检测的图像为全黑的
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);

跪求高人指点,谢谢啦
alilang 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 23:30


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