关于“为节省内存进行连续图像的压缩”,该如何处理

关于“为节省内存进行连续图像的压缩”
我在程序中应用了一个50帧大小的花点时间窗口,需要记录窗口内的50帧图像信息用于后续计算。这50帧图像为时域上连续的二值图像(0、1)。有什么办法可以把这50帧图像压缩到2或3帧进行临时存储呢?当然,压缩结果越少越好。
------解决方案--------------------
RLE
GIF89a
------解决方案--------------------
mpeg .
------解决方案--------------------
如果是二值图,自己写个游程码压缩估计就行。(简单说就是一串N个0用两个值(0,N)表示就行。1同理)
------解决方案--------------------
这个采用Jpeg存储就差不多了。
看看Jpeg是怎么压缩的。
你只要保存变化就可以了
------解决方案--------------------
错了是MPEG
动态图像
------解决方案--------------------
引用:
呃……都很精干啊!
RLE学习了一下,思想不错,可觉得我这种情况不适用。至于mpeg,还是算了吧
希望有人启发一下思路,我现在是缩到了7帧,8帧图像作为一组,得到的二进制数进行十进制转换,8位的和最大255.那么50帧图像就是分7组。在取图像值时再反换算。
还有没有其他的更好思路呢?


不是很明白你说的?
是不是就是把原来保存到1个byte中的0,1, 保存到 一个bit中?
如果这个理解没错的话,这个不算图像压缩吧,理论上应该就是这么保存的吧。

mpeg理解起来太难了,
可以与RLE结合 做一个类似的, 但是效果可能要取决于实际数据吧

第一帧的数据 都保存 (如果有大片的黑白,可以采用RLE)
第二帧数据, 保存 跟 第一帧的差分,并且采用RLE的方法
#如果只有极少部分像素变化,应该还是比较有效
第三帧,第四帧,以此类推


问题的关键是, 前后帧之间差别大不大。

------解决方案--------------------
引用:
这里有个限制条件不能忽视,我需要能确定最终的结果大小。
比如对这50帧连续二值图像,不管它的信息冗余度多大,我都可以用7个byte类型的原图像大小的空间来存储全部信息。
但是7个图像大小仍太大,我想压到2或者3个,how?



你用固定一幅图像的大小,放50帧原始图压缩后的结果,99.9%的情况下都够了。

如果你非说要保证100%的情况下都要够,那7个图像大小就是极限了。