添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
温暖的海龟  ·  达梦spring-data-jdbc - ...·  5 月前    · 
面冷心慈的饺子  ·  excel - error TS2552: ...·  1 年前    · 
GIF格式

其中GIF格式采用的是LZW的无损压缩算法,这是一种字典索引的压缩方法,原理是减少每点的存储位数以减少图像文件的大小,也就是通常所说的颜色抖动。因而实际存储数据的并不是图像的直接色彩,而是存储的index,通过index来查询存储颜色的字典(类似我们上次作业实现的采色板)。index通常最高是存储八位,也就是2^8=256种颜色。

但实际在用rgb存储时,一副全色图像是采用直接色彩存储,每色块存8*3=24位。

  • 我尝试对老师给的动物图片先转为bmp其大小为2095k,然后用ps转为8位gif,发现大小变为了257k,差不多变为原来的1/(2^3=8)

所以对于色彩变化不明显的简单图片我们一般采用gif压缩,原因就是基于LZW的原理:原始数据串中有大量的子串多次重复出现的话LZW压缩效果效果就会越好。针对具体图像来说也就是颜色种类越少越好,像素块色彩值重复度就高。gif压缩不会丢失任何数据而且又比同等效果的jpg图要小。

JPEG格式

JPEG压缩是一种偏向平衡性的格式,它会舍弃掉人眼根本无法感知的颜色信息,以使文件尽可能小并且细节不丢失。因此,它是一种有损格式。它颜色丰富并且很适合那些允许轻微失真的像素色彩丰富的图片(如相片)。

  • jpeg的压缩比例主要是在于量化一步中对于图像细节的保留程度,这一步采用的量化表也是从广泛实验中根据人对色彩的敏感程度得出。而且根据亮度和色度的精度要求不同采用不同量化表。前者细量化,后者粗量化。
  • 最后的熵编码一般采用霍夫曼编码,而JPEG的霍夫曼表是由一定规则生成,只要给出少量的描述即可生成相应的JPEG的霍夫曼表,这也减少了存储的字符位数。

JPEG的图片相比gif的优点,是采用了直接色,得益于更丰富的色彩,JPEG非常适合用来存储照片,用来表达更生动的图像效果,比如颜色渐变。

图片存储格式分析

所以对于动物图片这张图,它的颜色丰富度比较低,同时也已经存为jpg了,再二次压缩为jpg会失真度较高,也就是显得很糊,因而我们适合采用gif压缩。

而动物卡通图片这张图颜色种类丰富,渐变也比较明显,因而只用256种色彩存储很难达到较好的色彩效果,所以采用jpeg压缩。

**首先先比较第一张动物图片。**先看压缩率,将第一幅图存为同等效果的jpg和gif,gif的图片大小为410k,而jpg的图片大小为521k;接着再看失真率,因为gif是无损压缩,而jpg是有损压缩,所以gif图片视觉的清晰度要高于jpg压缩,失真度较小。所以第一幅图无论是从压缩率还是失真率来说gif压缩都会略胜一筹。

结果对比部分:

**然后比较第二幅动物卡通图片。**从压缩率来看,从同一张图片进行同等效果的压缩后gif的大小为348k,而jpg的大小为210k。接着根据失真度比较,gif最多只能存储8位,也就是256种颜色。而jpg虽然有一定的数据精度损失,但是是以直接色彩的方式存储,颜色丰富程度要远好于gif,而对于一些细节的渐变效果也比较好,所以这幅图jpg的视觉效果较好。所以综合压缩率和失真率来说这幅图用jpeg压缩效果更好。

**ps:**为什么同样是gif压缩第一幅图就会比jpg占内存小而第二幅图就会比jpg大呢?个人分析是因为第一幅图色彩丰富度太低,图片颜色种类少于256种,所以gif存储不需要8位(1~7位即可)就可以将图片色彩全部表示。而第二幅图色彩丰富度较高,颜色种类多于256种,gif最多也只能存八位,所以是将图片以8位索引的形式存的,图片大小就大于gif。

之后试了一下将第一幅图用ps强行存为8位,图片的内存大小也确实要比jpg大,所以得出结论如果将gif存为8位(256色索引),它的压缩效果是要比jpeg压缩差的,而且视觉上的色彩丰富程度也不达jpg。然而如果图片色彩丰富度低,例如能用128甚至更少的色彩存储,那么gif的压缩效果是会比jpg好,同时因为是无损压缩又不会造成图片的失真。

1、 GIF 图片的优点 ① 支持背景透明,如果背景设置为透明,将与浏览器背景相结合,生成非矩形的图片。 ② 支持动画,在Flash动画出现之前, GIF 动画是网页中唯一的动画形式,可以将单帧的图象组合起来,然后轮流播放每一帧而成为动画。虽然并非 目前的spice图像 压缩 主要采用了quic,glz和 jpeg 。quic和glz是无损 压缩 算法,quic主要用于照片,glz用于人工图像, jpeg 也主要用于照片 压缩 但是是有损的。 jpeg 能节省50%的带宽,glz只能节省20%,但是 jpeg 会带来更大的开销,所以不能都 【算法原理】 gzip是一种无损 压缩 算法,其基础为Deflate,Deflate是LZ77与哈弗曼编码的一个组合体。它的基本原理是:对于要 压缩 的文件,首先使用LZ77算法的一个变种进行 压缩 ,对得到的结果再使用哈夫曼编码(根据情况,使用静态哈弗曼编码或动态哈夫曼编码)的方法进行 压缩 。Deflate最初作为LZW以及其他受专利保护的数据 压缩 算法的替代版本而设计的,当时那些专利限制了compress以及其它一些流行的归档工具的应用。 【 压缩 核心Deflate】 1.LZ77算法 通过命令行vim查看 gif 文件,可以看到文件开头为 GIF ,89a表示格式,格式有87a或者89a。 在命令行中输入hexdump xx. gif 可以看到 gif 的16进制文件,对照ASCII码,474946代表 GIF ,383961代表8. 很多喜欢的动态图想拿来当表情包,可是每次都发现图片过大无法使用,这种时候就很苦恼,该怎么 压缩 gif 动图呢?首先想到的就是 gif 制作工具,当然现在有更简洁的办法: GIF 在线制作(https://www. gif .cn),一键操作,用手机都可以完成! GIF 中文网强大的 GIF 压缩 功能只需三步,电脑手机都可以实现该功能。让我们再也不用担心图片过大的问题啦! 先给大家讲解一下手机端怎么操作吧! 利用手机浏览器进入:https://www. gif .cn 选择 GIF 压缩 功能,点击上传 GIF 。 设置图片尺寸,也可以自定义 现在在做一些公众号推文时,经常会用到 gif 动图,跟其他格式的图片相比, GIF 动图虽然更加生动形象,但是缺点也很明显:文件体积过大。 压缩 gif 大小是最好的解决办法,那么 gif 图怎么 压缩 大小呢?推荐使用 压缩 图的 gif 压缩 功能,下面是具体的操作步骤。 1、打开 压缩 图网站,点击 GIF 压缩 按钮。 2、然后选择需要的尺寸、宽、高、帧数抽取、 压缩 等级等参数。 3、 压缩 完成后,查看预览,没有问题后点击保存图片下载即可。 有需要的小伙伴们可以按照步骤操作即可。操作简单,轻松上手。...   有时候,我们使用视频转 gif 功能制作出来的 gif 动图体积有些大,不方便使用的时候。就可以用【 GIF 中文网】的 gif 压缩 (https://www. gif .cn/)功能来缩小动图文件的大小,简单方便在线即可操作,无需下载任何软件。  通过使用 gif 在线 压缩 工具能够在不影响画质的情况下轻松完成 gif 动图在线 压缩 的操作,肉眼几乎看不出差距,如果想要让 gif 动图再小一些,可以通过选择抽取相应的帧数来减小 gif 动图的体积。  使用方法以及入口链接  链接:https://www. gif .cn/tools/compr