• 大小: 5KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Matlab
  • 标签: 背景建模  

资源简介

高斯分布与背景建模的关系:图像中每一个像素点的颜色值作为一个随机过程X,并假设该点的像素值出现的概率服从高斯分布。

资源截图

代码片段和文件信息

clear all  
alpha = 0.05; %背景建模alpha值  
std_init = 20; %初始化标准差  
var_init =  std_init * std_init ; %初始化方差  
lamda = 2.5 * 1.2 ; %背景更新参数  
  
fileName = ‘D:\\mc\\b.avi‘;   
obj = VideoReader(fileName);  
numframes = obj.NumberOfframes;  
frame = read(obj1);  
%第一帧图像单独取出来作为初始化用。  
%================  
%fram原始图像  
%frame_u期望图像  
%frame_d前景图像  
%fram_var方差图像  
%fram_std标准差  
%================  
%pixel像素原始值  
%pixel_u像素期望  
%pixel_d像素前景  
%pixel_var像素方差  
%pixel_std像素标准差  
[f_heightf_weight] = size(frame); %提取第一帧图像的高度和宽度  
f_weight = f_weight/3;%彩色图像RGB,所以需要除以三  
  
%初始化  
for i=1:f_height  
    for j=1:f_weight  
        pixel_r = frame(ij1);%frame为一帧图像,1代表R的值  
        pixel_g = frame(ij2);  
        pixel_b = frame(ij3);  
          
        pixel_ur = pixel_r;  
        pixel_ug = pixel_g;  
        pixel_ub = pixel_b;%期望图像为原图背景  
          
        pixel_dr = 0;  
        pixel_dg = 0;  
        pixel_db = 0;%前景图像初始化为0  
          
        pixel_stdr = std_init;  
        pixel_stdg = std_init;  
        pixel_stdb = std_init;%标准差  
         
        pixel_varr = var_init;  
        pixel_varg = var_init;  
        pixel_varb = var_init;%方差  
          
        frame_u(ij1:3) = [pixel_ur pixel_ug pixel_ub];  
        frame_d(ij1:3) = [pixel_dr pixel_dg pixel_db];  
        fram_std(ij1:3) = [pixel_stdr pixel_stdg pixel_stdb];  
        frame_var(ij1:3) = [pixel_varr pixel_varg pixel_varb];       
    end  
end  
  
%a = input(‘please assign a value for a‘);  
%while( a ~= 27)  
%    fprintf(‘i like you‘);  
%end  
  
%单高斯背景更新  
 for k = 1 : numframes % 读取数据  
     frame = read(objk);  
     for i=1:f_height   
         for j=1:f_weight  
              pixel_r = frame(ij1);%frame为一帧图像,1代表R的值  
              pixel_g = frame(ij2);  
              pixel_b = frame(ij3);  
                
              pixel_ur = frame_u(ij1);  
              pixel_ug = frame_u(ij2);  
              pixel_ub = frame_u(ij3);%期望图像(背景)初始化为第一帧图  
                
              pixel_dr =  frame_d(ij1);  
              pixel_dg =  frame_d(ij2);  
              pixel_db =  frame_d(ij3);%前景图像,初始为0  
                
              pixel_stdr =  fram_std(ij1);  
  

评论

共有 条评论