关于“为节省内存进行连续图像的压缩”,该如何处理
关于“为节省内存进行连续图像的压缩”
我在程序中应用了一个50帧大小的花点时间窗口,需要记录窗口内的50帧图像信息用于后续计算。这50帧图像为时域上连续的二值图像(0、1)。有什么办法可以把这50帧图像压缩到2或3帧进行临时存储呢?当然,压缩结果越少越好。
------解决方案--------------------
RLE
GIF89a
------解决方案--------------------
mpeg .
------解决方案--------------------
如果是二值图,自己写个游程码压缩估计就行。(简单说就是一串N个0用两个值(0,N)表示就行。1同理)
------解决方案--------------------
这个采用Jpeg存储就差不多了。
看看Jpeg是怎么压缩的。
你只要保存变化就可以了
------解决方案--------------------
错了是MPEG
动态图像
------解决方案--------------------
不是很明白你说的?
是不是就是把原来保存到1个byte中的0,1, 保存到 一个bit中?
如果这个理解没错的话,这个不算图像压缩吧,理论上应该就是这么保存的吧。
mpeg理解起来太难了,
可以与RLE结合 做一个类似的, 但是效果可能要取决于实际数据吧
第一帧的数据 都保存 (如果有大片的黑白,可以采用RLE)
第二帧数据, 保存 跟 第一帧的差分,并且采用RLE的方法
#如果只有极少部分像素变化,应该还是比较有效
第三帧,第四帧,以此类推
问题的关键是, 前后帧之间差别大不大。
------解决方案--------------------
你用固定一幅图像的大小,放50帧原始图压缩后的结果,99.9%的情况下都够了。
如果你非说要保证100%的情况下都要够,那7个图像大小就是极限了。
我在程序中应用了一个50帧大小的花点时间窗口,需要记录窗口内的50帧图像信息用于后续计算。这50帧图像为时域上连续的二值图像(0、1)。有什么办法可以把这50帧图像压缩到2或3帧进行临时存储呢?当然,压缩结果越少越好。
------解决方案--------------------
RLE
GIF89a
------解决方案--------------------
mpeg .
------解决方案--------------------
如果是二值图,自己写个游程码压缩估计就行。(简单说就是一串N个0用两个值(0,N)表示就行。1同理)
------解决方案--------------------
这个采用Jpeg存储就差不多了。
看看Jpeg是怎么压缩的。
你只要保存变化就可以了
------解决方案--------------------
错了是MPEG
动态图像
------解决方案--------------------
不是很明白你说的?
是不是就是把原来保存到1个byte中的0,1, 保存到 一个bit中?
如果这个理解没错的话,这个不算图像压缩吧,理论上应该就是这么保存的吧。
mpeg理解起来太难了,
可以与RLE结合 做一个类似的, 但是效果可能要取决于实际数据吧
第一帧的数据 都保存 (如果有大片的黑白,可以采用RLE)
第二帧数据, 保存 跟 第一帧的差分,并且采用RLE的方法
#如果只有极少部分像素变化,应该还是比较有效
第三帧,第四帧,以此类推
问题的关键是, 前后帧之间差别大不大。
------解决方案--------------------
你用固定一幅图像的大小,放50帧原始图压缩后的结果,99.9%的情况下都够了。
如果你非说要保证100%的情况下都要够,那7个图像大小就是极限了。