0. 图片格式简介

文章介绍了几种常见的图像格式,包括JPEG的有损压缩适合网络传输,PNG的无损压缩和透明度支持适用于网页设计,GIF支持动画但色彩有限,而BMP无压缩但文件体积大。每种格式在图像质量、压缩方法和应用场景上都有其优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jpg, png, gif 格式有何区别,各自的优劣是什么,又有什么应用?


JPG/JPEG格式

  1. JPEG 是一种常见的有损压缩图像格式,常用于数字图像的存储和传输,它采用基于DCT(离散余弦变换)的压缩算法,在图像质量和压缩比之间取得了比较好的平衡
  2. 由于JPEG 具有压缩比高、图像质量好等特点,被广泛应用于数字图像的存储、传输和显示等方面,如数字相机、手机相机
  3. 然而,JPEG 是一种有损压缩算法,每次保存和重新压缩JPEG图像都会导致一定程度的信息丢失和质量下降。因此,如果需要对图像进行编辑或修改,最好使用无损压缩的图像格式,例如PNG或TIFF。
    (注:JPEG 和 JPG 是同一个图像压缩标准的不同命名方式,都指的是一种基于有损压缩的图像文件格式。JPEG是“Joint Photographic Experts Group”的缩写,而 JPG 则是 JPEG 文件在计算机上的常见扩展名。在实际应用中,两个术语通常可以互换使用,没有本质区别。)

BMP(Bitmap)格式

  1. BMP是一种无压缩的位图图像格式,也被称为 Windows 位图。它是由 Microsoft 在1980年代开发的,并成为了 Windows 操作系统的标准图像格式之一。
  2. BMP 格式最大的优点是它可以保存位图图像中的每个像素的颜色信息,不会进行压缩,因此图像质量较高,但文件大小也相对较大。
  3. 基于以上特点,BMP 格式适用于需要高精度和高质量的图像,如图像处理,打印和印刷等领域,而在互联网中不常用

TIFF(Tagged Image File Format)格式

  1. TIFF 格式是一种无损压缩的图像格式,允许存储多个图像通道(如RGB、CMYK、灰度等)以及多种图像深度和压缩方式。
  2. TIFF格式支持多种压缩算法,包括无损压缩算法(如 LZW 和 ZIP)和有损压缩算法(如 JPEG)。
  3. TIFF 格式广泛应用于印刷和出版行业,以及医学、科学和工业领域等。TIFF 格式可以支持高分辨率和大尺寸图像,并且能够存储元数据(如拍摄设备信息、拍摄时间、地点等),因此被广泛应用于数字存档、印刷和出版行业。

PNG(Portable Network Graphics)格式

  1. PNG 是一种无损压缩的位图图形格式,由网络图形学组织(W3C)开发。PNG 格式广泛应用于互联网上的图像传输和共享,因为它压缩后不会丢失像素信息,同时支持透明度和图像亮度调整。
  2. PNG 格式的压缩算法使用 Deflate 压缩算法,它是一种无损压缩算法,可以保证图像质量不会受到影响。与 JPEG 格式相比,PNG 格式的压缩率较低,但是PNG格式可以保证图像质量不会损失。
  3. PNG 格式支持多种色彩模型,包括灰度图像、索引颜色图像和真彩色图像,具有更高的色彩深度,可支持 24 位真彩色、16 位灰度和 8 位索引颜色图像。PNG 格式还支持透明通道,可以在图像中添加透明背景,使其能够更好地适应网页和其他应用的需求。

总的来说,PNG格式适用于需要保证图像质量的场合,如网页设计、电子出版、计算机游戏等领域。


GIF(Graphics Interchange Format)格式

GIF格式是一种非常流行的图像文件格式,它最初由 CompuServe 公司在1987 年开发出来,目的是为了在网络上共享图像。GIF格式采用了LZW压缩算法,支持最多256色,可以支持透明度,动画以及简单的交互式操作。

由于GIF格式可以支持动画,因此它在Web开发中广泛应用于制作动态图片和简单的动画。此外,GIF格式还可以用于图标、标志和简单的插图等方面。

GIF格式相对于其他图像格式具有较小的文件大小,因此在网络上传输速度较快,而且支持透明背景,可以实现图像重叠效果,具有很好的可移植性和广泛的兼容性。然而,GIF格式只支持256种颜色,不适合处理色彩较为丰富的图像,也不能很好地处理渐变和连续色调的图像。


关于 JPEG 的一个小问题

本人在使用 matlab 时,发现当读入 JPG 图片时,不论是灰度图还是彩色图,都会产生三个通道?

这是因为 JPG 格式的图像通常是通过对 RGB 三个颜色通道进行有损压缩来实现的。
所以 Matlab 读入 JPG 格式的图像通常会产生三个通道,分别对应图像的红色、绿色和蓝色通道。这时我们可以使用 rgb2gray 函数来使三个通道的灰度图转化为一个通道,方便后续操作。
举例:

  • 直接读入 JPG
    在这里插入图片描述
  • 使用函数转换:
    在这里插入图片描述

附:rgb2gray 函数解释
该函数会根据以下公式将RGB图像转换为灰度图像:

grayImg = 0.2989 * R + 0.5870 * G + 0.1140 * B

其中,R、G和B分别表示图像中每个像素的红、绿和蓝颜色通道的强度值。而权重值是根据人眼对不同颜色的敏感度来确定的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值