采用算术平均法提取背景图像,可以总结为在特定的时间段内对像素点的亮度和色彩信息取平均值,用均值作为背景图像对应像素点数值。在读入一段视频时,对某一像素点进行观察,会发现在没有前景的运动目标通过时,该点的灰度值保持稳定,变化很小,只有当前景的运动目标通过时,该点的灰度才会发生剧烈的变化。这样就可以连续读入N帧图像,对图像各点的灰度或色彩信息进行统计的方法,使得变化剧烈的像素点变得平缓,取其平均值作为背景图像像素点的值,这样也可以滤除背景图像中的突变噪声点。 - clc,clear,close all % 清屏、清工作区、关闭窗口
- warning off % 消除警告
- feature jit off % 加速代码执行
- im1 = imread('1.jpg'); im1 = im2double(im1); % 加载图像并转化为double类型
- im2 = imread('30.jpg'); im2 = im2double(im2); % 加载图像并转化为double类型
- im3 = imread('60.jpg'); im3 = im2double(im3); % 加载图像并转化为double类型
- im4 = imread('80.jpg'); im4 = im2double(im4); % 加载图像并转化为double类型
- im5 = (im1+im2+im3+im4)/4; % 平均操作
- figure,imshow(im5,[])
复制代码
在实际场景中,一段时间内,同一区域很少有可能总是存在运动物体,因此通过算术平均法得到的背景就会消除亮暗分布不均匀的情况。
|