前景识别总结

(1) 帧差法  

方法步骤:

首先,将相邻帧图像对应像素值相减得到差分图像.

然后对差分图像二值化,在环境亮度变化不大的情况下,如果对应像素值变化小于事先确定的阂值时,可以认为此处为背景像素:如果图像区域的像素值变化很大,可以认为这是由于图像中运动物体引起的,将这些区域标记为前景像素,利用标记的像素区域可以确定运动目标在图像中的位置。帧差法对缓慢变换的光照不是很敏感。

其基本原理可以用下面公式看出:

|i(t)-i(t-1)|<T             背景

|i(t)-i(t-1)|>=T            前景

其中i(t),i(t-1)分别为t,t-1时刻对应像素点的像素值,T为阈值,其选择很相当关键。

关键代码实现:

for(int i=0;i<gray_diff.rows;i++)

for(int j=0;j<gray_diff.cols;j++)//遍历图像矩阵查找活动区域,若查到将其区域颜色至为白色。                     

if(abs(gray_diff.at<unsigned char>(i,j))>=threshold_diff)

         gray_diff.at<unsigned char>(i,j)=255;//白色

else gray_diff.at<unsigned char>(i,j)=0;//非活动区域至为黑色

 

优缺点:由于相邻两帧间的时间间隔非常短,用前一帧图像作为当前帧的背景模型具有较好的实时性,其背景不积累,且更新速度快、算法简单、计算量小、程序复杂度低

算法的不足在于对环境噪声较为敏感,闽值的选择相当关键,选择过低不足以抑制图像中的噪声,过高则忽略了图像中有用的变化。对于比较大的、颜色一致的运动目标,有可能在目标内部产生空洞,无法完整地提取运动目标。

适用背景:外界环境变化情况不大时使用较为方便快捷。

 

2)背景图像差分法

背景图像差分法是传统运动同标检测方法中最直接、最简单的一种方法。

方法步骤:

首先,它将选定的背景图像储存储下来。

然后将序列图像当前帧与背景图像做减法运算。由于运动物体和背景在灰度或色彩上存在差别,相减后所得结果中每个像素的值和一个预先设定的阈值相比较,如果这个像素的值小于设定的阈值,则该像素区域被认为是背景区域;如果大于设定的阈值,则判定被监控的场景中存在运动物体,从而得到运动的同标。

R ( i , j ) =1, | F ( i , j ) - G ( i , j ) | > T

式中 : F ( i , j ) 是前景图像 ; G ( i , j ) 是背景图像,是某个灰度阈值它的大小决定了识别目标的灵敏度 二值图 R ( i , j ) 的区域就是检测到的目标区域。

 

关键代码:

  cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);//转化为灰度图像

         cvConvert(pFrImg, pFrameMat);//将图像转化为矩阵

 

//当前帧跟背景图相减

         cvAbsDiff(pFrameMat, pBkMat, pFrMat);

 //灰度图像进行阈值操作得到二值图像

         cvThreshold(pFrMat, pFrImg, 60, 255.0, CV_THRESH_BINARY);

 

         cvRunningAvg(pFrameMat, pBkMat, 0.003, 0);

         cvConvert(pBkMat, pBkImg);  //将背景转化为图像格式,用以显示删除也可以

         cvShowImage("video", pFrame);

优缺点:

背景图像差分法其原理和算法设计简单;可以根据实际情况确定阈值进行处理,所得结果直接反映了运动目标的位置、大小、形状等信息,能够得到比较精确的运动目标信息。但同时也存在受光线、天气等外界条件变化的影响较大;用背景图像差分法去处理目标由静止开始运动的情况,可能出现“鬼影”现象等缺点。

(3)背景图像差分法(阀值为otsu算法)

与背景图像差分法的区别就是阀值不是固定的数值,而是对每幅图经过otsu算法后得出的阀值,这也导致了播放时会有卡顿的现象,但效果比简单的背景差分法更加精细。         这两中方法共同的问题是:在摄像头视频中,结果前景以白色表示,在视频文件中前景有时以黑色表示。另外,背景更新实现得不太理想。

(4)背景更新用最简单的用高斯混合背景模型或otsu里面背景更新。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值