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))%显示前景图像
卢森堡商家gcorelabs是个全球数据中心集大成的运营者,不但提供超过32个数据中心的VPS、13个数据中心的cloud(云服务器)、超过44个数据中心的独立服务器,还提供超过100个数据中心节点的CDN业务。CDN的总带宽容量超过50Tbps,支持免费测试! Gcorelabs根据业务分,有2套后台,分别是: CDN、流媒体平台、DDoS高防业务、块存储、cloud云服务器、裸金属服务器...
今天CloudCone发布了最新的消息,推送了几款特价独立服务器/杜甫产品,美国洛杉矶MC机房,分配100Mbps带宽不限流量,可以选择G口限制流量计划方案,存储分配的比较大,选择HDD硬盘的话2TB起,MC机房到大陆地区线路还不错,有需要美国特价独立服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2...
95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...