有时候我们需要将大量的图片放到内存里面,但是又不想占用太多内存。比如实现进度条拖拽流畅的正播倒播,只能先把视频帧解码之后放到内存中才能实现。如果是原始图片大小,假设为1280*720的图片,4通道,我们可以简单估算一下时长一分钟帧率为24视频解码之后所占内存的大小:
632 MB 的内存对于PC端好像还可以接受,但是对于移动端来说就显得弥足珍贵了,如果对图片的质量要求不要太高,我们可以改变图片的宽高来实现节省内存的目的,比如宽高都变为1/4,就可以将内存占用将为原来的1/16,这可是相当可观的,四通道的图片在内存中是以RGBARGBARGBA…这种方式排列的,所以我们可以用如下方式改变图片的宽高:
当然你可以采用cv_resize,如果条件允许的话。