当前位置: 代码迷 >> 多媒体/流媒体开发 >> 怎么进行前后帧的对比
  详细解决方案

怎么进行前后帧的对比

热度:7903   发布时间:2013-02-26 00:00:00.0
如何进行前后帧的对比
我做的一个程序对摄像头捕获的信息进行存储,
作为mpeg4格式,
但是把所有监控的信息都存储下来占用的空间较大,
希望能进行前后帧的对比,
把没有变化的信息不存,请问怎么做?
谢谢。


------解决方案--------------------------------------------------------
montion detect(运动监测),要软件实现可以提供一点思路:

简单一点的办法就是对比亮度差,如果摄像头位置相对固定,那么相同的一帧图片在每一个点上的亮度都是很接近的,你可以考虑把前一帧的同一个点的y值和当前帧的y值(这里当然指的是yuv中的y值了,相信楼主明白),求两点亮度差的绝对值并累计,当两帧累计亮度差达到一定阀值时,可以认为画面中出现了运动。这个时候你还可以考虑使用循环缓冲区预存一部分数据,把运动出现前的数据一并开始写入存储空间,并且在运行停止或消失后的一段时间内也继续保存。

进阶一点的情况下就可以对画面上的某一区域(当然,你可以用RECT,也可以用一个MASK位图来区分区域)对摄像头拍摄区域的特定敏感位置进行运动监测。

这种情况下,自然是以处理yuv格式的图像比较方便了,以上指的是在进行压缩运算前对末压缩的位图进行处理的思路,希望能帮上忙。
------解决方案--------------------------------------------------------
欧式距离,两幅图像越相似,距离越短。
  相关解决方案