您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页图像处理 背景减法

图像处理 背景减法

来源:尚车旅游网


数字图像处理报告

姓 名: cugycy 学 院: 机械与电子信息学院 班 级: 071112-13 指导老师: 傅华明

摘要

研究目标:

本文主要研究在背景维持不变的环境下,对运动目标检测。在固定空间场中获得的运动目标的运动的一系列图像称为运动图像。我们主要研究的是在一个固定场景中,目标对象位置发生变化的情况。

采用方法:

为了分析在固定场景中目标的运动变化,首先考虑到在一系列的运动图像序列中,空间场的位置、灰度变化是非常微小的,基本上可以认为是固定不变的;而运动对象却在空间位置上发生了明显的改变,所以我们可以用背景减法来研究这一情况。 背景减法通过逐像素比较与背景图像的差别,在背景基本不变的条件下,在差图像的不为零处表明该处出现运动目标,通过求差的方法就可以将运动目标的位置和形状表现出来。在实际情况中,由于镜头的物理抖动造成的图像的移动,旋转,以及光线明暗的变化,所造成的图像背景改变,从而难以与背景图做差形成清晰,无噪声的差分图像。

完成以下编程:

为了减小误差影响,增强图像质量,在认为无镜头的旋转,先后移动情况影响下,只考虑镜头产生了上下平移变化,用相关匹配在其他图像中寻找与模板(图像1部分)最相似的子块,并剪切其他图像使其他图像与图像1的背景一致。 在不考虑处理的实时情况下,同时图像的数量较少(5张),运动目标在多幅图像叠加中不会有重叠部分,采用去除最大最小值后求均值法求得背景图像。 将图像与背景图像做差值处理,采用二维自适应维纳滤波对差值图形滤波减小噪声影响。 将滤波后差值图,设定阈值进行二值化,同时采用形态学的腐蚀膨胀,使二值图像中目标轮廓边缘更加平滑,减小图像内部空隙,符合实际目标。

取得成果:

由此我们的得到了五幅二值目标图像。通过图像位置的比较明显看到人从右到左的运动,图像的间距看出运动的距离也是不一样的,图像的大小看出距离镜头的距离也是不一样的。

未解决问题:

没能考虑镜头旋转带来的图像背景移动,从而使差值图像噪声减小更多,同时背景图像的生成不够准确,影响差值图像的质量。 未能采用更为合适的滤波,减小噪声。

图像的二值化的阈值选取,不能基于图像自身的的数据自动随之改变。 未对二值图像进行滤波,去除小的噪声点。 未对二值图像和原图像进行更进一步的匹配。 未采用彩色图像处理。

详细报告:

以图像1的部分为模板在其他图像中匹配相似的位置,从而适当剪裁其他图像使背景尽可能一致。

模板

匹配

最佳匹配处

原图与剪裁图

通过图像直观分析,发现多幅图像上的运动目标没有位置重合,从而可以采用去除图像相同位置数据中的最大值和最小值,然后取均值的方法获得背景图像。

背景图

将图像与背景图做差值计算,获得图像差图。

差值图像

采用二维自适应维纳滤波对差值图形滤波减小噪声影响。

将滤波后差值图,设定阈值进行二值化,同时采用形态学的腐蚀膨胀,使二值图像中目标轮廓边缘更加平滑,减小图像内部空隙,符合实际目标。

其他工作:

不同滤波效果中,纳维滤波的能更好的保留目标的轮廓信息,噪点可采用形态学处理去除噪点。

不同滤波效果

源代码:

clc clear all

%--------------------------------------------------------------------- % 批量获取文件

%---------------------------------------------------------------------

file=dir('G:\\study\\大四上\\数字图像处理\\m4\\p6-0*.bmp') %列出当前目录下符合正则表达式的文件夹和文件 数据结构

for n=1:length(file) %获取以名字为命名的图片数据 tmp=rgb2gray(imread(['G:\\study\\大四上\\数字图像处理\\m4\\',file(n).name]));

str_a1=[file(n).name(1:end-8),file(n).name(end-4),'=tmp;']; eval(str_a1); end

%-------------------------------------------------------------------------- %通过匹配返回坐标,保存到ppn中

%用相关匹配在图像a中寻找与模板c最相似的子块,给出代码和相关系数图 %--------------------------------------------------------------------------

for n=2:length(file) %获取以名字为命名的图片数据 b=p1;

a=eval(['p',num2str(n),';']); c=b(30:230,30:630); % imshow(c); g=dftcorr(a,c); gs=gscale(g); % figure,imshow(gs); [I,J]=find(g==max(g(:))); % figure,imshow(gs>2);

% figure,imshow(b),title(['灰度' num2str(i)]) d=a(I:I+400,J:J+600);

eval(['pp',num2str(n),'=d;']);%获取图像的相对位置

end

pp1=p1(30:430,30:630);

%-------------------------------------------------------------------------- %通过五幅图进行取去最大最小后,平均值作为被背景图层

%-------------------------------------------------------------------------- for n=1:5

eval(['pp_5(n,:,:)=pp',num2str(n),';']);%获取图像的相对位置 end

pp_max=max(pp_5);%最大 pp_max1(:,:)=pp_max(1,:,:); pp_max1=pp_max1;

pp_min=min(pp_5);%最小 pp_min1(:,:)=pp_min(1,:,:); pp_min1=pp_min1;

pp_sum=uint16(pp1)+uint16(pp2)+uint16(pp3)+uint16(pp4)+uint16(pp5);%和 pp_sum=uint8((pp_sum-uint16(pp_min1)-uint16(pp_max1))/3);%去大去小 取均值为背景图

%-------------------------------------------------------------------------- %背景减法运算 二维自适应维纳滤波 二值化

%--------------------------------------------------------------------------

for n=1:5 figure,

eval(['temp=pp',num2str(n),';']);%获取图像的相对位置 z=imabsdiff(temp,pp_sum);%取绝对值 两个图像之差 J=z; K1= z;

K2= medfilt2(J);%采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 K3=wiener2(J,[9 9]); %对加噪图像进行二维自适应维纳滤波 K4= filter2(fspecial('average',9),J)/255; %模板尺寸为9 cs=0.15;

K1=im2bw(K1,cs);%二值化

K2=im2bw(K2, cs);%二值化

K3=im2bw(K3 ,cs);%二值化

K4=im2bw(K4, cs);%二值化 subplot(2,2,1),

imshow(eval(['pp',num2str(n),])); title(['原图像' num2str(n)]) %————-————腐蚀开运算—————— foc=imclose(K3,strel('square',10));

subplot(2,2,2),

imshow(z);title('差值图像'); f=foc;

se=strel('square',2); fo=imopen(f,se); subplot(2,2,3),

imshow(K4);title('二值化');

%————-————腐蚀运算—————— f=fo;

se=strel('disk',2); fo=imopen(f,se); subplot(2,2,4),

imshow(fo);title('形态学处理'); end

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务