JPEG图片大小怎么计算

发布网友 发布时间:2022-04-26 05:42

我来回答

5个回答

热心网友 时间:2022-06-21 07:33

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

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

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

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

扩展资料:

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

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

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

热心网友 时间:2022-06-21 07:34

其实由于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 * 估算的压缩率范围


热心网友 时间:2022-06-21 07:34

这个题目是错的。

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

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

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

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

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

2009-6-22 16:34

热心网友 时间:2022-06-21 07:35

1.57MB是图像的原始大小,740*740*3(RGB图像通常每像素3字节)=12800字节=1.566696MB,大约等于其BMP格式的大小,而307.7KB是JPEG格式的大小,是压缩过的。
而JPEG的大小是没有办法直接得到的,通常会经过比较复杂的估算得到一个大概的值,说实话我不会算。也可以把原图编码成JPEG文件之后查看文件大小,但一般不这么做,因为要占用较多的性能和内存。

热心网友 时间:2022-06-21 07:35

1、如果按照用32位来表示一个像素点的RGB值的话,应该是4个字节
0×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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com