资源简介
高斯分布与背景建模的关系:图像中每一个像素点的颜色值作为一个随机过程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);
- 上一篇:神经网络解决TSP问题
- 下一篇:加速遗传算法
评论
共有 条评论