存储运动变化以减少内存的最佳方法

时间:2013-10-20 07:28:33

标签: emgucv

我在一个恒定的'视频流'中将jpeg与jpeg进行比较。我正在使用EMGU / OpenCV来比较字节级别的每个像素。每个图像(RGB)有3个通道。我听说通常的做法是只存储帧之间已经改变的像素,以节省存储空间。但是,如果例如/例如我说每个像素都已经改变(请注意我使用夸张的例子来表达我的观点,我通常会丢弃这么大的变化)然后保存的结果字节比原始jpeg大3倍。

如何有效地存储此类动作变化?

感谢

1 个答案:

答案 0 :(得分:1)

拍摄连续图像时,相机可能也会移动。如果相机已固定,则只有视图上的项目会移动,并且图像的某些部分每次都会更改。如果相机也移动,即使物体静止不动,图像也会发生显着变化。有一些算法可以放弃相机运动的影响。因此,主要思想是与相机的采样频率(例如每秒25帧)相比,大多数物体几乎静止不动。

因为帧之间的大部分图像没有变化,所以使用图像的差异变得可行。它提供了一些压缩比。然而,在一段时间之后,新接收的图像与参考图像显示出很大的差异,因此获得新的图像参考变得更好。这被称为“参考框架”。

事实上,现代视频压缩算法使用先进的技术来检测对象并跟踪它们,从而获得更好的压缩比。

  • Wikipedia - 不同的压缩技术
  • Check This - OpenCV应该处理以不同视频格式存储连续图像。