基于背景帧像素颜色级别变化移动行人侦测优化算法.docVIP

基于背景帧像素颜色级别变化移动行人侦测优化算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于背景帧像素颜色级别变化移动行人侦测优化算法

基于背景帧像素颜色级别变化移动行人侦测优化算法   摘 要目前有很多侦测连续视频流中行人移动的方法,这些方法都是运用差分比较而得来的,在本文中将描述其中最常用的方法,同时对这些方法进行算法的描述,并且还将用颜色级别变化算法进行必要的改进来进行比较。   【关键词】行人移动 差分比较 颜色级别变化算法   1 引言   现在最常用的办法就是前后帧的比较,当需要预测变化并且只是将这个变化保存,那么这个对视频压缩非常有用,但这种移动侦测应用并不是最好的,本文将对这个办法进行更加详尽的描述。   2 当前帧与背景帧的区别方法   假设将某一源图(24bpp,RGB)定义为当前帧,并且得到一份转化为灰度模式的拷贝,同样的过程运用于前一帧,其被定义为背景帧。首先都找出这两帧的不同点,这样就能利用差分和阈值过滤的方法。   // create filters   Differential differFilter = new Differential( );   Filter Filterthreshold = new Threshold( 15 );   // set backgroud frame as an overlay for difference filter   differFilter.ImageOverlay = backgroundFrame;   Bitmap temp1 = differFilter.Apply(currentFrame );   Bitmap temp2 = Filterthreshold.Apply( tmp1);   通过该步骤,如果当前帧与前一帧根据指定的阈值计算出两帧之间的差异,那么这种差异就会体现在一张有白色像素的图片上,并且这个过程也能具体的得到有多少个白色像素点,如果这个数值超过了预先定义的警报水平将会触发移动事件信号。   最简单的移动侦测已经准备好,现在将重点关注需要的移动区域。   从实验的结果可以看出该方法的缺点,如果对象移动缓慢,那该算法将收到帧与帧之间非常小的变化,因此,该方法不能得到整个移动对象,所以如果对象移动非常慢,那该算法就得不到任何结果。   有另外一种办法就是不用进行两个连续帧的比较,而是将当前帧与视频序列的第一帧进行比较,因此如果没有侦测对象在开始帧出现,那么当前帧与第一帧的比较就会得到完整的移动对象,这种方法就不用考虑侦测对象慢速移动。但同样这种方法有一很大的不足,比如一辆快速的车出现在第一帧,但是马上就消失于视频中,这样我们总是在这个地方得到移动的侦测结果。   最有效的算法是基于建立一个场景的背景,然后用每一帧与此背景进行比较,虽然有很多种方法来建立该场景,但是大多数方法都很复杂,在本文中将采用全新的方法来建立背景帧,这种办法就简单又易懂。   3 背景帧像素颜色级别变化优化算法   在上一情形中,我们假设将某一源图(24bpp,RGB)定义为当前帧,换而言之,其实就是得到了一份转化为灰度模式的拷贝,同样的过程运用于前一帧,其被定义为背景帧。首先将视频序列的第一帧作为背景帧,然后将当前帧与背景帧做比较,但其得出来的结果并不理想。我们的办法是将背景帧移动到当前帧,并将背景帧与当前帧同方向轻微的进行移动,我们将以每帧一个级别的变化来改变背景帧像素的颜色。   // create processing filters sequence   SequenceFilters Filterpro = new SequenceFilters( );   Filterpro.Add( new Differential( Framebackground ) );   Filterpro.Add( new Threshold( 15 ) );   processingFilter.Add( new Opening( ) );   processingFilter.Add( new Edges( ) );   // apply the filter   Bitmap temp1 = Filterpro.Apply( currentFrame );   // extract red channel from the original image   Filter Channelextrach = new ChannelExtract( RGB.R );   Bitmap RChannel = Channelextrach.Apply( image );   // merge red channel with moving object borders   Merge Filtermerge = new Merg

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档