显示同一幅bmp和jpg时,二者开辟内存空间有何区别?

来源:百度知道 编辑:UC知道 时间:2024/05/24 04:55:24
彩色bmp图像三通道存储,无损压缩,每个像素占用3个字节;
jpg图像有损压缩,经过 1.颜色模式转换及采样-〉2.DCT变换-〉3.量化-〉4.编码 存成文件,打开过程解码运算,按理讲应该比bmp多使用内存(数据+用于解码),为什么我用同一幅图片的两个版本比较开启时占用内存量,jpg比bmp小好多大约1:4左右,难道jpg解码后,也不是用RGB三通道表示图像数据的?
您的回答很好,不过我觉得仅仅一个buffer的差别,不足以达到十几兆的差别吧,我的图像是2800*1500

我想楼主理解可能有点错误,首先在显示BMP图像的时候系统也是需要进行解码运算的,只是运算算法简单一点,因而在运算这块,分配的内存未必比JPG少很多,相反,在对数据分析前,首先要对BMP图像或JPG图像的读取分配一个BUFFER,而BMP图像要比JPG大很多,因此在这里给BMP图像分配的动态内存就多出很多,对于解码后的显示,2者应该是相同的,都是RGB通道输出,因而后面的部分觉得没差异。
总结:内存大小差异在数据分析前用来存储临时数据。