c lea r a l l
%so u rce=av iread('C:\V id eo\So u rce\traff ic\sa n_fr a n_traff ic_30 sec_QVGA');source=mmreader('SampleVideo.avi');frameQYT=get(sou rce,'Nu m berOfFram es');
%-----------------------frames izevariab les-----------------------fr=read(so u rce,1);%读取第一帧作为背景fr_bw=rg b2g ray(fr);%将背景转换为灰度图像fr_s ize=s ize(fr);%取帧大小w id t h=fr_s ize(2);height=fr_size(1);fg=zeros(h e ig ht,w idth);bg_bw=zeros(he ig ht,w idth);
%---------------------mogvariables-----------------------------------
C=4;%组成混合高斯的单高斯数目(一般3-5)
M=0;%组成背景的数目
D=2.5;%阈值一般2.5个标准差a lpha=0.01;%learn ingrate学习率决定更新速度(between0and 1)(frompaper0.01)thresh=0.75;%foreg roundthreshold 前 景 阈 值(0.25or0.75 in paper)sd_in it=6;%in it ia lstandarddev iat ion 初 始 化 标 准 差(fornewcomponents)var=36inpaperw=zeros(h e ig ht,w idth,C);%in it ia l izewe ig htsarray初始化权值数组mean=zeros(h eight,width,C);%pixelmeans像素均值sd=zero s(h e ig h t,w id t h,C);%p ix e lsta n d a rd d ev iat io n s像素标准差u_diff=zeros(h eight,width,C);%differenceofeachpixelfrom mean与均值的差p=alpha/(1/C);%in it ia lpvariab le参数学习率(usedtoupdatemeanandsd)rank=zeros(1,C);%rankofcomponents(w/sd)
%------in itia l izecomponentmeansandweights初始化均值和权值----------pixel_depth=8;%8-bitreso lution像素深度为8位pixel_range=2^pixel_depth-1;%pixelrange像素范围2的7次方0—255 #ofpossib leva lues)fori=1:heightfo rj=1:wid thfork=1:Cmean(i,j,k)=rand*pixe l_range;%meansrandom(0-255之间的随机
数)w(i,j,k)=1/C;%weig htsu n iform ly d istsd(i,j,k)=sd_in it;%in it ia l izetosd_in itendendend
%-----p rocessfram es-处理帧--这里去第八帧n=8;fr=read(sou rce,n);%read inframe读取帧fr_bw=rg b2g ray(fr);%co nvertframetog rayscale转换为灰度图像
%calculated ifferenceofpixelvaluesfrommean计算像素差值form=1:Cu_d iff(:,:,m)=abs(d o u b le(fr_bw)-do u ble(mean(:,: ,m)));end
%updategaussiancomponentsforeachpixel更新每个像素的背景模型fori=1:heightfo rj=1:widthmatch=0;fork=1:Cif(abs(u_diff(i,j,k))<=D*sd(i,j,k))%pixelmatchescomponent像素匹配了模型match=1;%variabletosig na lcom ponentmatch设置
匹配记号
%u pdateweig hts,mean,sd,p更新权值均值 标准差和参数学习率w(i,j,k)=(1-alpha)*w(i,j,k)+alpha;p=alpha/w(i,j,k);mean(i,j,k)=(1-p)*mean(i,j,k)+p*d o u ble(fr_bw(i,j));sd(i,j,k)=sq rt((1-p)*(sd(i,j,k)^2)+p*((d o u b le(fr_bw(i,j))-m ea n(i,j,k)))^2);else%p ixeldoesn'tmatchcomponent几个模型中都没有匹配的w(i,j,k)=(1-a lpha)*w(i,j,k);%weightsl igh lydecreases权值减小endendbg_bw(i,j)=0;fork=1:Cbg_bw(i,j)=bg_bw(i,j)+mean(i,j,k)*w(i,j,k);%更新背景if(bg_bw(i,j)>thresh)k=k-1;
M=k;end%???? 这里有问题背景权值和大于阈值时 背景建模的数目M取k-1,end
%ifnocomponentsmatch,createnewcomponent如果没有匹配的模型则创建新模型if(match==0)
[m in_w,m in_w_index]=m in(w(i,j,:));m ean(i,j,m in_w_ind ex)=d o u b le(fr_bw(i,j));sd(i,j,m in_w_index)=sd_in it;endrank=w(i,j,:)./sd(i,j,:);%ca lculatecomponentrank计算模型优先级ran k_ind=[1:1:C];
%calcu lateforeg rou nd计算前景whi le((match==0)&&(k>M))%?????C- 这里用于前景计算的高斯模型应该是M,所以这里k>Mif(abs(u_diff(i,j,rank_ind(k)))<=D*sd(i,j,rank_ind(k)))fg
(i,j)=0;%black=0e lsefg(i,j)=fr_b w(i,j);endk=k+1;if(k==5)k=k-1;b rea kendendendendfigure(1),subp lot(3,1,1),imshow(fr)%显示输入图像subplot(3,1,2),imshow(u int8(bg_bw))%显示背景图像subplot(3,1,3),imshow(u int8(fg))%显示前景图像
TMThosting发布了今年黑色星期五的促销活动,即日起到12月6日,VPS主机最低55折起,独立服务器9折起,开设在西雅图机房。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget HDD系列架构CPU内存硬盘流量系统价格单核51...
老薛主机,虽然是第一次分享这个商家的信息,但是这个商家实际上也有存在有一些年头。看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港VPS主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港VPS。如果没有记错的话,早年这个商家是主营个人网站虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站...
御云怎么样?炎炎暑期即将来临,御云(royalyun)香港、美国服务器开启大特惠模式。御云是新成立的云服务提供商,主要提供香港、美国的云服务器,不久将开启虚拟主机业务。我们的香港和美国主机采用CN2 GIA线路。目前,香港cn2 gia vps仅7.9元每月起,美国vps仅8.9/月,续费同价,可叠加优惠,香港云服务器国内延迟一般在50ms左右,是搭建网站的最佳选择,但是请不要用于违法用途。点击进...