JPEG图片大小怎么计算

如图,740*740像素的图片,分辨率是72.这图片显示像素大小为1.57MB,也就是1.57*1024=1607KB
然后我存储为JPEG格式,为什么图片大小是307.7KB呢?上面的740*740像素还有分辨率是72,怎样计算出图片的大小是307.7KB的?

1.57MB是图像的原始大小,740*740*3(RGB图像通常每像素3字节)=1642800字节=1.566696MB,大约等于其BMP格式的大小,而307.7KB是JPEG格式的大小,是压缩过的。

JPG图片的大小,与压缩质量系数有关,与图片的内容有关。640*480的JPG图片,文件大小可能只有几KB,也可能有上百KB。

256色,即每个像素用8位(一个字节)来描述,640*480共307200像素(约30万像素),因此图像大小就是307200字节,即300KB。

BMP文件实际是由位图文件头、位图信息头、彩色板、图像数据阵列四个部分构成,上面的300KB是图像数据阵列部分,加上文件前面的部分(一般为几十个字节),会比300KB略大。

扩展资料:

JPEG也是最常见的一种图像格式,它是由联合照片专家组开发并以命名为“ISO 10918-1”,JPEG仅仅是一种俗称而已。

JPEG文件的扩展名为.jpg或.jpeg,因其压缩技术十分先进,它用有损压缩方式去除冗余的图像和彩色数据,获取得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像质量。

参考资料来源:百度百科-图片

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-08

其实由于jpeg格式是有损压缩格式,因此同样大小的图片,就算参数完全相同的情况下,保存后的大小也是有很大差异的,因此只能估算最大值和最小值,无法在没有实际输入的情况下算出输出大小。

而在估算时,起到主要影响因素的包括以下几点(可能不全,但一般够用了):

    图片像素尺寸

    色彩数——影响解压后的每像素字节数

    品质——分11级,0时图片变化最明显,体积也最小,这个主要影响压缩率;

    8级一般是比较推荐的等级,不对比的情况下基本看不出质量损失

    有些软件用百分比形式映射,有些软件从1开始因此最大是12

    色彩分布——这个对压缩的影响很大,是接近估值最小值还是估值最大值几乎都受他影响,是造成没有准确值只有估值的最大变数

    至于基线、差值、是否连续等优化,对最终体积是有影响,但相比于品质的压缩率在图片不是特别小的情况下影响可以忽略

说完这些简单的理论,接着说说怎么估算和误差大小。

    首先是用图片像素尺寸和色彩数,我们能算出图片在内存中的体积

    Size=Width * Height * 每像素字节数

    这里每像素字节数很好理解,不懂可以百度,这里给几个常用的,照片一般是第一个:
    RGB(888) - 3字节,RGB(565) - 2字节,256色 - 1字节,16色-1/2字节,黑白-1/8字节

    之后就是依据品质和图片大小推测压缩率范围

    这个比较复杂,只能经验性估值,这里只介绍影像压缩率的几个变量:

    a. 图片越小压缩率越小,并逐渐趋向当前质量的最小压缩率,
        图片越大压缩率越大,并逐渐趋于当前质量的最大压缩率,

        图片非常小时有可能比1还小;

    b. 品质越低压缩率越高,0级时一般会在200:1到30:1间浮动,大多集中在60:1附近

                                            8级时一般会在40:1到4:1间浮动,大多集中在16:1

                                          11级时一般会在16:1到2:1间浮动,大多集中在7:1附近

    c. 色彩分布越趋向于单色、连续颜色、重复色块时压缩比越高,极端时(比如纯白的图),就算图片很大,图片也只会有几百字节到几十K字节。


    因此文件大小的范围就是前一步得到的 size * 估算的压缩率范围


本回答被提问者采纳
第2个回答  2009-06-22
这个题目是错的。

JPG图片的大小,与压缩质量系数有关,与图片的内容有关。640*480的JPG图片,文件大小可能只有几KB,也可能有上百KB.
另外,JPG图片一般是24位一千六百万色,256色的只是灰度图片,使用较少。
只知道分辨率和色彩数,是不可能算出JPG文件的大小的。

如果题目中图片格式改为BMP格式,则可以算出文件大小。

BMP图像信息部分的大小可以这样计算:
256色,即每个像素用8位(一个字节)来描述,640*480共307200像素(约30万像素),因此图像大小就是307200字节,即300KB。

BMP文件实际是由位图文件头、位图信息头、彩色板、图像数据阵列四个部分构成,上面的300KB是图像数据阵列部分,加上文件前面的部分(一般为几十个字节),会比300KB略大一点点
2009-6-22 11:34
*********************************
对问题补充的回复:

你们老师给出的答案是错误的。
他给出的是存储这个图像需要的位(bit)数,不是题目中要求的字节(byte)数。所以他给出的数值大了8倍。

2009-6-22 16:34
第3个回答  2015-07-09
1、如果按照用32位来表示一个像素点的RGB值的话,应该是4个字节
640×480×4=1228800字节
1228800÷1024÷1024=1.171875兆(M)/
2、根据像素计算大小
原始图像大小可以如此估算:水平像素*垂直像素*1色黑白或3基色*一种颜色深度bit数/8/1024/1024=MB数
比如1024*1024的24位彩色bmp=1024*1024*(3*8)/8/1024/1024=3MB
第4个回答  2012-12-13

老师处的题目题目是有点问题。其目的是让学生知道根据像素多少以及颜色值计算大小所以说:

640*480*8=2457600,但是文件除了描述图片像素信息外还包括文件本身的信息,比如BMP的话有一个文件头,通过电脑生成的满足条件的BMP文件大小为:

JPG文件和压缩有关系,大小不能确定,但bmp不管内容如何大小事固定的。